SBJson反序列化问题

时间:2012-05-02 10:54:26

标签: ios sbjson

您好我在使用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,所以我不能完全确定发生了什么。

由于 米克

1 个答案:

答案 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);