我该如何解析这个JSON信息?

时间:2014-08-23 13:44:30

标签: ios iphone

这是我要解析的内容。

   {
        "Words": {
            "subjugate": "To conquer. ",
            "contemplate": "To consider thoughtfully. ",
            "comprise": "To consist of. ",
            "pollute": "To contaminate. "
        }
    }

2 个答案:

答案 0 :(得分:1)

这是一种非常简化和过度简化的方法,用于处理从JSON中的服务器获取响应数据并将JSON序列化为NSDictionary:

    // this is just for example purposes, in this example the code is already running on a background thread so sending it synhcronously is OK, and I've already created the request object
    NSError *error = nil;  
    NSHTTPURLResponse *response = nil;
    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

    // if we don't have response data
    if (!responseData) {
        // handle that we got no response from the server
    }

    if (error) {
       // handle the request error
    }

    // serialize the JSON result into a dictionary
    NSError *serializationError = nil;
    NSDictionary *resultDictionary = [NSJSONSerialization JSONObjectWithData:responseData options:0 &serializationError];

    if (serializationError) {
       // handle the error turning the data into dictionary
    }

    NSDictionary *wordsDictionary = resultDictionary[@"words"];
    NSString *exampleValue = wordsDictionary[@"subjugate"]; // will be "To conquer." if everything goes to plan

答案 1 :(得分:0)

您可以按照以下方式解析

NSData *data = [@"{\"Words\":{\"subjugate\":\"To conquer.\",\"contemplate\":\"To consider thoughtfully.\",\"comprise\":\"To consist of.\",\"pollute\":\"To contaminate.\"}}" dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];

if(error)
{
    NSLog(@"Error : %@", error);
}
else
{
    NSLog(@"%@", json);
}