Мне нужно преобразовать ответ XML в JSON и песок в код json To javaScript.XML в преобразование JSON в iOS
My XML response:
<cell>
<Result>True</Result>
<sguid>02291c402-2220-422b-b199-f92f22e56d2f</sguid>
</cell>
Я использую XMLReader поддерживающий файл с этого сайта:
XMLReader
Я использую этот код для преобразования XML в JSON:
+ (NSString*) XMLToJson:(CXMLDocument *)xmlDocument
{
NSError *error = nil;
NSArray *resultNodes = [xmlDocument nodesForXPath:@"//cell" error:&error];
if(error)
NSLog(@"%@",error.description);
CXMLNode *cellNode = [resultNodes objectAtIndex:0];
NSLog(@"%@",cellNode.XMLString);
NSError *parseError = nil;
NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLString:cellNode.XMLString error:&parseError];
NSLog(@"%@", xmlDictionary);
//{print this.
// cell = {
// Result = {
// text = True;
// };
// sguid = {
// text = "0391c402-1120-460b-b199-f92fffe56d2f";
// };
// };
//}
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:xmlDictionary
options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
error:&error];
if(error)
NSLog(@"%@",error.description);
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"%@", jsonString);
return jsonString;
}
Я получил JSON ответ, как это :
{
"cell" : {
"Result" : {
"text" : "True"
},
"sguid" : {
"text" : "0391c402-1120-460b-b199-f92fffe56d2f"
}
}
}
мне нужен JSON ответ, как это:
{
"cell": {
"Result": "True",
"sguid": "02291c402-2220-422b-b199-f92f22e56d2f"
}
}
Потому что тогда я посылаю этот JSON в яваскрипте кода я получаю это исключение JQuery мобильный не знают парсер это и генерирует исключение ошибок синтаксиса.
Я видел, как программисты используют это решение и помогают им, но я все равно получаю тот же результат в этом решении.
XML into JSON conversion in iOS
благодаря
все, что вам нужно сделать, чтобы проверить, имеет ли этот узел дочерний узел с именем «текст» и не имеет дочернего узла. Затем вы можете извлечь реальные значения и пропустить «текстовые» узлы в XMLReader :) – Bartu
как это проверить? –