Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从signle nsstring变量解析多个json对象_Ios_Objective C_Json - Fatal编程技术网

Ios 从signle nsstring变量解析多个json对象

Ios 从signle nsstring变量解析多个json对象,ios,objective-c,json,Ios,Objective C,Json,我知道如何使用NSData和NSDictionary从NSString解析json对象,但如果我收到这样的消息,我没有找到如何解析多个json对象: { "msg_type" : "fist_json", "field" : "param" } { "second_json_field": [ { "name_picture": "0.png", "data_picture":"something" }, {

我知道如何使用
NSData
NSDictionary
NSString
解析json对象,但如果我收到这样的消息,我没有找到如何解析多个json对象:

{
"msg_type" : "fist_json",
"field" : "param"
}

{  "second_json_field": [   
    {      
         "name_picture": "0.png",
         "data_picture":"something"

    },
    {      
         "data_values": "something"    
    }  ]
}

{
"third_msg" : "hello"
}

它不是有效的JSON,因此无法解析它。JSON文档可以是单个数组,也可以是单个对象(字典)。三个对象不是有效的JSON。你可以用方括号括起来,把逗号放在正确的位置,然后解析它,得到一个数组。在不编写完整的JSON解析器的情况下找到逗号的位置是很棘手的


如果这是服务器提供给您的,请服务器人员修复损坏的服务器。如果您的代码出于某种原因将三条JSON消息合并为一条,那么不要这样做

我猜这不可能一次完成。您提供的示例文本可能看起来像,但它不是(有效的)


我认为为您提供此响应的服务应该是“固定”的。

如果没有一些预处理,就无法做到这一点。或者隔离各个片段并单独解析,或者插入逗号,在
[]
上加上一个符号,然后作为数组进行解析。事实上,逗号位于
}
{
之间,忽略了空格。