[英]JSON validation
我正在尝试使用iPhone上的json-framework来解析json字符串。 当我调用这个方法时:
NSDictionary *dictionary = [jsonString JSONValue];
我收到错误:
"Error Domain=org.brautaset.JSON.ErrorDomain Code=3 \"Object value expected for key:
Options\" UserInfo=0x4b5f390 {NSUnderlyingError=0x4b5f320 \"Expected value while
parsing array\", NSLocalizedDescription=Object value expected for key: Options}"
根据这个json验证器[1]: http : //www.jsonlint.com//我的json无效。 但是这样吗?
我的json字符串看起来像这样:
{
"Options": [
{
"ID": "7",
"A": "1",
"EAt": new Date(2011,
0,
7,
12,
30,
0),
"Type": "Binary",
}
}
*编辑Json :(仍然会出现错误)
{
"Options": [
{
"ID": "7",
"A": "1",
"EAt": new Date(2011,
0,
7,
12,
30,
0),
"Type": "Binary"
}
]
}
您的JSON无效。
这是因为您无法在JSON中创建对象实例。 这不是一个有效的价值。
new Date(2011, 0, 7, 12, 30, 0)
你错过了关闭阵列支架。 其他一切都还可以。
这是有效的:
{
"Options": [
{
"ID": "7",
"A": "1",
"EAt": "new Date(2011,0,7,12,30,0)",
"Type": "Binary"
}
]
}
您无法在JSON字符串中实例化Date对象(或任何对象)。
您需要让负责发出此JSON的代码的任何人更改它以发出有效的JSON。 他们现在推出了一些不能与任何JSON解析器一起使用的东西。 也许他们有一个可以处理这类事情的自定义JSON使用者,但这不是标准的JSON。
如果我是你,我会让他们将当前日期的字符串放入该字段(所以:“2011-07-01 12:30:00”),然后在你的对象NSDateFormatter中解析它。
如果发现JSON不是你可以改变的东西,你总是可以在将它提供给JSON库之前在本地进行修改。 它只是一个字符串,没什么神奇的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.