【问题标题】:What is the best way to read a JSON structure entered through the command line?读取通过命令行输入的 JSON 结构的最佳方法是什么?
【发布时间】:2020-10-23 15:55:17
【问题描述】:

我需要读取通过命令行输入并存储在变量中的 JSON 结构。我想知道读取可以包含空行的 JSON 结构的最佳方法是:

{ "report":[
      {"enrollment": "rit123" },

      {"enrollment": "rit345" }
  ]
}

。在这种情况下,JSON 数组中的两个 JSON 对象之间存在一个空行。如果我使用 while 循环和 hasNextLine() 之类的方法,它不会读取所有内容,因为一旦遇到空行,它就可以终止循环。

约束: 我不知道空行在哪里,也不知道会有多少。

【问题讨论】:

  • 这背后的用例是什么?您还可以将 json 作为运行参数传递并作为 args[0] 访问它
  • @Smile 该用例用于黑客等级问题场景。

标签: java json command-line inputstream


【解决方案1】:

根据您提供的信息,读取 JSON 格式的最佳方法是括号匹配。 读完每一行后,计算开括号和右括号的数量。 并循环直到左括号计数不等于右括号计数。

这样,即使有多个空行,你的while循环也不会终止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2019-10-26
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多