String 在iOS5中创建JSONObject
似乎显示了如何创建JSONObjectString 在iOS5中创建JSONObject,string,json,ios5,nsstring,nsobject,String,Json,Ios5,Nsstring,Nsobject,似乎显示了如何创建JSONObject NSString *jsonString = @"[{\"id\": \"1\", \"name\":\"Aaa\"}, {\"id\": \"2\", \"name\":\"Bbb\"}]"; NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; NSError *e = nil; NSMutableArray *json = [NSJSONSerializatio
NSString *jsonString = @"[{\"id\": \"1\", \"name\":\"Aaa\"}, {\"id\": \"2\", \"name\":\"Bbb\"}]";
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *e = nil;
NSMutableArray *json = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&e];
NSLog(@"%@", json);
输出看起来像一个json对象。但后来我尝试了以下方法:
NSLog(@"%@", [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingPrettyPrinted error:nil ]);
我得到的是
这似乎表明它不是一个真正的JSONObject。如何制作一个?它可能是一个真正的JSONObject,但NSLog不知道如何显示原始数据。。。NSLog中的“%@”
位需要一个带有编码的NSString,而不是NSData
有两种方法可以让我从头顶上看到事情是否进展顺利
#1) 使用该方法
或
#2) 重新解析您刚刚创建的JSON对象,看看它是否与您创建它的方式一致。您可以通过执行以下操作打印NSData:
NSError * error = nil;
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingPrettyPrinted error:&error ];
if(jsonData == nil)
{
NSLog( @"error in parsing json data is %@", [error localizedDescription] );
} else {
NSString * jsonString = [[NSString alloc] initWithData: jsonData encoding: NSUTF8StringEncoding];
NSLog( "json data is %@", jsonString );
}
它可能是一个真正的JSONObject,但NSLog不知道如何显示原始数据。。。NSLog中的“%@”
位需要一个带有编码的NSString,而不是NSData
有两种方法可以让我从头顶上看到事情是否进展顺利
#1) 使用该方法
或
#2) 重新解析您刚刚创建的JSON对象,看看它是否与您创建它的方式一致。您可以通过执行以下操作打印NSData:
NSError * error = nil;
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingPrettyPrinted error:&error ];
if(jsonData == nil)
{
NSLog( @"error in parsing json data is %@", [error localizedDescription] );
} else {
NSString * jsonString = [[NSString alloc] initWithData: jsonData encoding: NSUTF8StringEncoding];
NSLog( "json data is %@", jsonString );
}
如果我有一个NSStrings的NSArray,我如何将整个数组分配给一个键,然后将其转换为JSONobject?JSONobject只是一个NSArray?您可以通过
NSJSONSerialization
从数据或流(但不是数组或字典)创建JSON对象。您需要将数组转换为NSData
,才能进行JSON转换。看看。如果我有一个NSString的NSArray,我如何将整个数组分配给一个键,然后将其转换为JSONobject?JSONobject只是一个NSArray?您可以通过NSJSONSerialization
从数据或流(而不是数组或字典)创建JSON对象。您需要将数组转换为NSData
,才能进行JSON转换。看一看。