本文目录一览:
IOS开发 JSON解析字符串错误
可以使用NSDictionary中的键值对来拼接Json数据,非常方便,也可以进行嵌套,直接上代码:
//开始拼接Json字符串
NSDictionary *dataDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"mac",@"mac",
@"game",@"game",
@"devicetoken",@"devicetoken",
@"device",@"device",
@"gv",@"gv",
@"lang",@"lang",
@"os",@"os",nil];
NSDictionary *parmDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"getSession",@"act",
dataDictionary,@"data",nil];
NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:@"pv",@"pv",
parmDictionary,@"param",nil];
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
NSString *jasonString = [writer stringWithObject:jsonDictionary];
NSLog(@"%@",jasonString);
上面的代码用到了三层嵌套,注意的是,NSDictionary中,前面的是值,后面的是键。
拼接后的结果如下:
{"pv":"pv","param":{"act":"getSession","data":{"os":"os","mac":"mac","game":"game","gv":"gv","lang":"lang","devicetoken":"devicetoken","device":"device"}}}
使用 Json在线校验工具 解析后:
{
"pv": "pv",
"param": {
"act": "getSession",
"data": {
"os": "os",
"mac": "mac",
"game": "game",
"gv": "gv",
"lang": "lang",
"devicetoken": "devicetoken",
"device": "device"
}
}
}
json数据解析出错应该怎么办?
JSON数据解析错误处理办法如下:
-JSONValue failed. Error is: Unescaped control character [0x0D]
这个错误就是JSON解析的时候String 的时候出现转义字符。
对应用NSString 里的stringByReplacingOccurrencesOfString:@"\r"withString:@"" 取消掉转义字符就OK那!
NSString *json_string1=[json_string stringByReplacingOccurrencesOfString:@"\r"withString:@""];
或者是在线工具生成的代码,并不能保证百分百准确的。
json解析失败是什么意思?
json解析失败一般是因为json数据格式不正确
解析json可以用gson也可以用fastjson,
请贴出来你的json数据