我想为我的应用程序设置静态的JSON虚拟数据进行处理。这纯粹是客户端的;我不想从网络中检索任何内容。
到目前为止,我看到的所有问题和答案都是使用NSData*变量存储从网络调用中检索到的内容,并且[JSONSerialization JSONObjectWithData:...]通常对手动创建的数据进行操作。
以下是我在Xcode中尝试的示例。
NSString* jsonData = @" \"things\": [{ \
\"id\": \"someIdentifier12345\", \
\"name\": \"Danny\" \
\"questions\": [ \
{ \
\"id\": \"questionId1\", \
\"name\": \"Creating dummy JSON data by hand.\" \
}, \
{ \
\"id\": \"questionId2\", \
\"name\": \"Why no workie?\"
} \
], \
\"websiteWithCoolPeople\": \"http://stackoverflow.com\", \
}]}";
NSError *error;
NSDictionary *parsedJsonData = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];
尝试像更改从JSON字符串到NSData的NSString *那样的尝试,导致解析出null parsedJsonData数据或在创建JSON数据变量或尝试解析它时出现异常。
我该如何在我的代码中创建虚拟JSON数据,以便可以通过正常解析JSON数据的Foundation类进行解析?
{
。然后,使用[jsonData dataUsingEncoding:NSUTF8StringEncoding]
方法获取你的字符串,因为NSJSONSerialization
只接受数据,而不是字符串 :) - anon_dev1234