如果我有一个文件的内容如下:
{"one": 1}
{"two": 2}
Run Code Online (Sandbox Code Playgroud)
我可以简单地将每个单独的行解析为一个单独的JSON对象(使用JsonCpp).但是如果文件的结构不那么方便怎么办呢:
{
"one":1
}
{
"two":2
}
Run Code Online (Sandbox Code Playgroud)
use*_*eve 15
没有人提到数组:
[
{"one": 1},
{"two": 2}
]
Run Code Online (Sandbox Code Playgroud)
是有效的 JSON,可能会做 OP 想要的。
您的问题中的任何一个示例都不是有效的JSON对象; JSON对象可能只有一个根.您必须将文件拆分为两个对象,然后解析它们.
您可以使用http://jsonlint.com查看给定字符串是否为有效JSON.
所以我建议更改将多个JSON对象转储到单个文件中以在单独的文件中执行它,或者将每个对象作为值放在一个JSON根对象中.
如果您无法控制创建这些文件的任何内容,那么您将无法自行解析文件以选择不同的根对象.
这是在JSON对象中编码这些数据的有效方法:
{
"one": 1,
"two": 2
}
Run Code Online (Sandbox Code Playgroud)
或者如果你真的需要单独的对象,像这样:
{
"one":
{
"number": 1
},
"two":
{
"number": 2
}
}
Run Code Online (Sandbox Code Playgroud)