XML 応答を JSON に変換し、サンドを json To javaScript コードに変換する必要があります。
My XML response:
<cell>
<Result>True</Result>
<sguid>02291c402-2220-422b-b199-f92f22e56d2f</sguid>
</cell>
このサイトの XMLReader サポート ファイルを使用しています。
XMLリーダー
このコードを使用して、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をjavascriptコードに送信するため、jquery mobile dont know parser thisという例外が発生し、構文エラーの例外がスローされます。
プログラマーがこのソリューションを使用して支援しているのを見てきましたが、このソリューションでも同じ結果が得られます。
ありがとう