XML到iOS中的JSON转换

我需要将XML响应转换为JSON。

我的XML响应:

<commands> <command id="0" name="GetAPPsProducts"> <command_parameters> <command_parameter id="0" name="APPs_Code">ATAiOS</command_parameter> </command_parameters> <command_result> <apps_products> <apps_products id="1"> <apps_code>ATAiOS</apps_code> <apps_product_id>2</apps_product_id> <brand_id>2</brand_id> <brand_desc>Generic</brand_desc> <brand_product_id>2</brand_product_id> <product_id>001-7</product_id> <descrizione>MyTravelApp</descrizione> </apps_products> </apps_products> </command_result> </command> 

我正在使用本站的XMLReader支持文件:

XMLReader的

我正在使用此代码将XML转换为JSON

 NSError *parseError = nil; NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLString:testXMLString error:&parseError]; NSLog(@" %@", xmlDictionary); 

我得到了像这样的JSON响应:

 commands = { command = { "command_parameters" = { "command_parameter" = { id = 0; name = "APPs_Code"; text = "\n \n \n \n ATAiOS"; }; text = "\n "; }; "command_result" = { "apps_products" = { "apps_products" = { "apps_code" = { text = "\n \n \n \n ATAiOS"; }; "apps_product_id" = { text = "\n 2"; }; "brand_desc" = { text = "\n Generic"; }; "brand_id" = { text = "\n 2"; }; "brand_product_id" = { text = "\n 2"; }; descrizione = { text = "\n MyTravelApp"; }; id = 1; "product_id" = { text = "\n 001-7"; }; text = "\n "; }; text = "\n "; }; text = "\n "; }; id = 0; name = GetAPPsProducts; text = "\n "; }; text = "\n "; }; text = "\n \n"; }; 

我需要这样的回应:

  { "commands": { "command": { "-id": "0", "-name": "GetAPPsProducts", "command_parameters": { "command_parameter": { "-id": "0", "-name": "APPs_Code", "#text": "ATAiOS" } }, "command_result": { "apps_products": { "apps_products": { "-id": "1", "apps_code": "ATAiOS", "apps_product_id": "2", "brand_id": "2", "brand_desc": "Generic", "brand_product_id": "2", "product_id": "001-7", "descrizione": "MyTravelApp" } 

我在网上获得这个回应。 如何得到这样的回应。

提前致谢。

 NSError *parseError = nil; NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLString:testXMLString error:&parseError]; NSLog(@" %@", xmlDictionary); 

此代码不会将任何内容转换为JSON。 它给你一个NSDictionary。 您需要从字典中实际创buildJSON数据。 试试这个大小。

 NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:xmlDictionary options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string error:&error]; if (! jsonData) { NSLog(@"Got an error: %@", error); } else { NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSLog(@"%@",jsonString); }