【发布时间】:2014-07-26 12:03:54
【问题描述】:
我有一个返回 VALID JSON 数组的 Web 服务,但在我的代码中出现以下错误。
"Error Domain=NSCocoaErrorDomain Code=3840 "无法进行操作 完全的。 (Cocoa 错误 3840。)”(JSON 文本不是以数组开头或 允许未设置片段的对象和选项。) UserInfo=0x9b9af50 {NSDebugDescription=JSON 文本不是以数组或对象开头并且 允许未设置片段的选项。}"
我知道这个错误是由于 json 中的错误。但我已经检查并验证了他们认为有效的各种来源的回复。
这是我的 JSON 的 Objective-C 代码
NSDictionary *dictionary = [NSDictionary dictionaryWithJSONData:jsonData];
我也用这段代码来获取字典
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&err];
但是当我调试并检查字典变量时,它显示“nil”
这是我的 json 响应
[
{
"id":"182",
"name":"2 Tone Brown",
"price":"2099.0000",
"description":"",
"image":"http:\/\/www.nnn.com\/images\/2 Tone BG.jpg",
"images":[
{
"1":"2 Tone BG 1.jpg"
},
{
"2":"2 Tone BG 2.jpg"
},
{
"3":"2 Tone BG 3.jpg"
},
{
"4":"2 Tone BG 4.jpg"
},
{
"5":"2 Tone BG 5.jpg"
}
],
"sizes":[
{
"id":"16",
"size":"L",
"price":"0.0000"
},
{
"id":"17",
"size":"XL",
"price":"200.0000"
},
{
"id":"15",
"size":"M",
"price":"0.0000"
},
{
"id":"14",
"size":"S",
"price":"0.0000"
},
{
"id":"23",
"size":"Custom Size",
"price":"100.0000"
},
{
"id":"42",
"size":"Please Select",
"price":"0.0000"
}
]
},
{
"id":"293",
"name":"3 Seam Collar Black",
"price":"2499.0000",
"description":"Exclusive 3 Collar <br> <br> This beautiful but simple color combination gives you a great look. <br> <br> Colors: Red\/Black, Green\/Blue Check, Sky Blue",
"image":"http:\/\/www.nnn.com\/images\/3 Seam Collar Black Main.jpg",
"images":[
{
"1":"3 Seam Collar Black 1.jpg"
},
{
"2":"3 Seam Collar Black 6.jpg"
},
{
"3":"3 Seam Collar Black 2.jpg"
},
{
"4":"3 Seam Collar Black 3.jpg"
},
{
"5":"3 Seam Collar Black 5.jpg"
},
{
"6":"3 Seam Collar Black 4.jpg"
}
],
"sizes":[
{
"id":"17",
"size":"XL",
"price":"200.0000"
},
{
"id":"16",
"size":"L",
"price":"0.0000"
},
{
"id":"15",
"size":"M",
"price":"0.0000"
},
{
"id":"14",
"size":"S",
"price":"0.0000"
},
{
"id":"23",
"size":"Custom Size",
"price":"100.0000"
}
]
}
]
上面的 JSON 在 java 中可以正常工作,但不会产生任何结果。
【问题讨论】:
-
您发布的 JSON 无效。
-
您的数据是 RTF 文件??
-
我验证了来自 jsonlint.com 的 JSON,它说有效
-
标签消失了,因为您没有正确格式化帖子。是的,它现在有效。 -
jsonData的确切起始字符是什么?它可以包含byte order mark吗?
标签: ios objective-c json