-1
我有例如JSON響應:的iOS:JSON編碼的問題
[
[],
{
"\u0000Data\u0000NewData": {
"id": "40",
"moreInfo": {
"Info1": "sth1",
"Info2": "sth2"
}
}
}
]
我想打印鍵名:
NSString *text = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSData *jsonData = [text dataUsingEncoding:NSUTF8StringEncoding];
NSError *e;
NSArray *dict = [NSJSONSerialization JSONObjectWithData:jsonData options: 0 error:&e];
NSDictionary *temp = [dict objectAtIndex: 1];
for(id key in temp)
NSLog(@" %@ --" , key); // Should print "DataNewData --"
的問題是,只能在關鍵的模樣 「DataNewData」(沒有\ u0000),否則它打印一個空白行(即使沒有「 - 」結尾)
爲什麼你會有一個開始(甚至有)空字符的鍵,我不知道obj-c,但在C字符串中是空終止的。 – Musa
我不負責創建回覆:) – user2262230
\ u0000是空字符。您引用的服務器響應可能在技術上無效的JSON。至少,這很奇怪,我實際上會期望它被錯誤地解析。根據數據的性質,您可以在將其解析爲字典之前,從響應字符串中刪除此子字符串的實例。 – Macondo2Seattle