iphone - 在 iOS 中将 NSArray 字典转换为 JSON 数组

标签 iphone json cocoa cocoa-touch nsarray

我需要以 JSON 数组格式将 NSArray 发送到服务器。如何将其转换为 JSON。这是我必须传递的 NSArray 示例。

array([0] => array('latitude'=>'10.010490', 
                  'longitude'=>'76.360779', 
                   'altitude'=>'30.833334', 
                  'timestamp'=>'11:17:23', 
                      'speed'=>'0.00', 
                   'distance'=>'0.00');

[1] => array('latitude'=>'10.010688', 
            'longitude'=>'76.361378', 
             'altitude'=>'28.546305', 
            'timestamp'=>'11:19:26', 
                'speed'=>'1.614', 
             'distance'=>'198.525711')
 )`

所需的格式是这样的

[
  { "latitude":"10.010490",
   "longitude":"76.360779",
    "altitude":"30.833334",
   "timestamp":"11:17:23", 
       "speed":"0.00",
    "distance":"0.00"
  },    
  {
   "latitude":"10.010688",
  "longitude":"76.361378",
   "altitude":"28.546305",
  "timestamp":"11:19:26",
      "speed":"1.614",
   "distance":"198.525711" 
  }
]

有人有解决办法吗?提前致谢。

最佳答案

NSDictionary *firstJsonDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                            @"10.010490", @"latitude",
                            @"76.360779", @"longitude",
                            @"30.833334", @"altitude",
                            @"11:17:23", @"timestamp",
                            @"0.00", @"speed",
                            @"0.00", @"distance",
                            nil];

  NSDictionary *secondJsonDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                            @"10.010490", @"latitude",
                            @"76.360779", @"longitude",
                            @"30.833334", @"altitude",
                            @"11:17:23", @"timestamp",
                            @"0.00", @"speed",
                            @"0.00", @"distance",
                            nil];

NSMutableArray * arr = [[NSMutableArray alloc] init];

[arr addObject:firstJsonDictionary];
[arr addObject:secondJsonDictionary];

NSData *jsonData2 = [NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData2 encoding:NSUTF8StringEncoding];
NSLog(@"jsonData as string:\n%@", jsonString);

关于iphone - 在 iOS 中将 NSArray 字典转换为 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12299965/

相关文章:

objective-c - NSXMLParser 只读取一半的属性

php - 将 mysql 结果集转换为要输入 HighCharts 的(名称,数据)对象

ios - 如何在 TableView 或标签中提取和显示必要的数据

objective-c - 如何强制 NSWindow 出现在每个应用程序的前面?甚至全屏应用程序

cocoa - fatal error : unexpectedly found nil while unwrapping an Optional value in Swift when tried to parse JSON

javascript - Angularjs动态循环访问数组键的动态值

iphone - Xcode 4.3.2 + iOS SDK 5.1 异常断点不起作用

iphone - swift swreveal - 显示使用按钮或点击手势切换到侧边菜单

iphone - 如何检查用户是否已在我的iPhone应用程序中订阅

iphone - 如何检测 map 注释 Pin 上的点击?