2016-04-15 100 views
1

我有一个包含json对象的字符串(1x878683 char)。当我解析它们时,我得到了一个包含第一个json对象的1x1结构体。剩下的json对象被滑过。我使用JSON.parse方法使用这个matlab类JSON.m解析它们。 我想要解析所有json对象,并且我希望每个json对象都是单元数组的元素。如何做?如何解析包含在字符串中的所有json对象?

这是我的JSON字符串看起来像:

" {"Surname":" bla bla bla", "OtherNames":"pla pla pla", "Affiliation":"bla bla bla"} 
{"Surname":" bla bla bla", "OtherNames":"pla pla pla", "Affiliation":"bla bla bla"} 
{"Surname":" bla bla bla", "OtherNames":"pla pla pla", "Affiliation":"bla bla bla"}" 

回答

0

JSON数据集应该始终有一个根对象。你已经定义了三个独立的对象。你会希望这些包含在一个数组中的根对象中。像这样:

{ 
    "persons": [{ 
     "Surname": " bla bla bla", 
     "OtherNames": "pla pla pla", 
     "Affiliation": "bla bla bla" 
    }, { 
     "Surname": " bla bla bla", 
     "OtherNames": "pla pla pla", 
     "Affiliation": "bla bla bla" 
    }, { 
     "Surname": " bla bla bla", 
     "OtherNames": "pla pla pla", 
     "Affiliation": "bla bla bla" 
    }] 
} 
+0

我按照你的建议编辑了我的json字符串。当我运行代码时,出现了这个错误:使用JSON/getObject(第99行)时出错 JSON解析器需要在对象元素之间使用逗号,尽管它们之间有逗号 –

+0

出现此错误的代码:'if strcmp(value,' ,') value = this.getValue; elseif strcmp(value,']') continue else 错误('JSON解析器需要数组元素之间的逗号');末端 结束。我试图打印价值。它的价值是NaN –

相关问题