如果我有,其内容看起来像一个文件:如何读取包含多个根元素的JSON文件?
{"one": 1}
{"two": 2}
我可以简单地分析每个单独行作为一个单独的JSON对象(使用JsonCpp)。但是,如果该文件的结构是这样不太方便:
{
"one":1
}
{
"two":2
}
如果我有,其内容看起来像一个文件:如何读取包含多个根元素的JSON文件?
{"one": 1}
{"two": 2}
我可以简单地分析每个单独行作为一个单独的JSON对象(使用JsonCpp)。但是,如果该文件的结构是这样不太方便:
{
"one":1
}
{
"two":2
}
你的问题也不例子是一个有效的JSON对象;一个JSON对象可能只有一个根。你必须将文件分成两个对象,然后解析它们。
您可以使用http://jsonlint.com来查看给定的字符串是否为有效的JSON。
因此,我建议更改将多个JSON对象转储到单个文件中以在单独的文件中执行此操作,或者将每个对象作为值放入一个JSON根对象中。
如果您无法控制创建这些内容的任何内容,那么您会自己解析文件以挑选出不同的根对象。
下面是一个JSON对象的数据进行编码的有效途径:
{
"one": 1,
"two": 2
}
,或者如果你真的需要单独的对象,像这样:
{
"one":
{
"number": 1
},
"two":
{
"number": 2
}
}
相关问题:[如何使用Jackson ObjectMapper检测尾随垃圾](http://stackoverflow.com/questions/26003171/how-to-detect-trailing-garbage-using-jackson-objectmapper) – sleske 2016-04-01 13:06:20