का उपयोग कर एक्सकोड पर जेएसओएन ऑब्जेक्ट/जेएसओएन ऐरे का पता लगाने के लिए मुझे JSON पार्सिंग के साथ कुछ समस्या है। इस तरह जब मैं यूआरएल मारा, मुझे मिल गया है JSON उत्तर:जेएसओएन-फ्रेमवर्क
//JSON 1
{ "data":
{"array":
["3",
{"array":
[
{"id":"1","message":"Hello","sender":"inot"},
{"id":"2","message":"World","sender":"inot"},
{"id":"3","message":"Hi","sender":"marza"}
]
}
]
},
"message":"MSG0001:Success",
"status":"OK"
}
लेकिन अगर डेटा के आधार पर सिर्फ 1 है, JSON उत्तर इस तरह है:
//JSON 2
{ "data":
{"array":
["3",
{"array":
{"id":"3","message":"Hi","sender":"marza"}
}
]
},
"message":"MSG0001:Success",
"status":"OK"
}
मैं के लिए इस कोड को लागू आईडी, संदेश और प्रेषक मान प्राप्त करें, और JSON 1 पर ठीक काम करें, लेकिन JSON 2 पर त्रुटि। मैं JSON-Framework का उपयोग करता हूं। और सवाल यह है कि JSON प्रतिक्रिया ऑब्जेक्ट ({}) या सरणी ([]) है इसका पता लगाने के लिए कैसे ??
// Parse the string into JSON
NSDictionary *json = [myString JSONValue];
// Get all object
NSArray *items = [json valueForKeyPath:@"data.array"];
NSArray *array1 = [[items objectAtIndex:1] objectForKey:@"array"];
NSEnumerator *enumerator = [array1 objectEnumerator];
NSDictionary* item;
while (item = (NSDictionary*)[enumerator nextObject]) {
NSLog(@"id = %@",[item objectForKey:@"id"]);
NSLog(@"message = %@",[item objectForKey:@"message"]);
NSLog(@"sender = %@",[item objectForKey:@"sender"]);
}
धन्यवाद माइकल केसलर, यह अब काम करता है। – inot
@inot, अगर आप अपनी समस्या हल करते हैं तो उत्तर को चिह्नित करने के लिए आपका स्वागत है। –