您好我在使用JSON反序列化时遇到了问题。
我使用的是SBJson,数据是从.net webservice返回的。
这是返回的JSON(缩写)
{
"id": "1",
"result": [
{
"questionID": 21,
"question": "What is the secret of eternal life?"
},
{
"questionID": 20,
"question": "What is the meaning of life?"
}
]
}
我到目前为止使用以下代码
-(void) dataLoaded:(NSData*)data {
NSString* jsonString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
NSDictionary *jsonObject = [jsonString JSONValue];
NSLog(@"data : %@", [jsonObject valueForKey:@"result"]);
}
以下行[jsonObject valueForKey:@“result”]返回以下数据
(
{
question = "What is the secret of eternal life?";
questionID = 21;
},
{
question = "What is the meaning of life?";
questionID = 20;
}
)
如何将数据导入数组?
这是我第一次使用Json,所以我不能完全确定发生了什么。
由于 米克
答案 0 :(得分:1)
你 已经回来了...... 您可以使用类似的东西来创建指向此数组的指针:
NSDictionary *jsonObject = [jsonString JSONValue];
NSArray *myJsonArray = [jsonObject valueForKey:@"result"];
编辑(经过一些评论后)
由于您正在记录[jsonObject valueForKey:@"result"]
和NSLog
打印您发布的内容,因此确定该对象为NSArray
。
你可以像这样计算和记录(注意%d
):
int c = [myJsonArray count];
NSLog("My array's count is: %d", c);