我需要将 XML 响应转换为 JSON 并将沙子转换为 json 到 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 不知道解析器并抛出语法错误异常。
我见过程序员使用这个解决方案并正在帮助他们,但我仍然在这个解决方案中得到相同的结果。
谢谢