Objective-C:如何将以下 JSON 转换为可用数据

Posted

技术标签:

【中文标题】Objective-C:如何将以下 JSON 转换为可用数据【英文标题】:Objective-C: How to convert following JSON to usable data [duplicate] 【发布时间】:2014-08-27 21:07:55 【问题描述】:

我有一个如下的 JSON 字符串

    [["Exampe_Level0_1","Exampe_Level1_1","Exampe_Level2_1","Exampe_Level3_1","Exampe_Level4_1","Exampe_Level5_1"],["Exampe_Level0_2","Exampe_Level1_2","Exampe_Level2_2","Exampe_Level3_2","Exampe_Level4_2","Exampe_Level5_2"]]

我也有一堂课

ExampleClass.h

#import <Foundation/Foundation.h>

@interface ExampleClass : NSObject

@property(nonatomic, strong)NSString *Level0;
@property(nonatomic, strong)NSString *Level1;
@property(nonatomic, strong)NSString *Level2;
@property(nonatomic, strong)NSString *Level3;
@property(nonatomic, strong)NSString *Level4;
@property(nonatomic, strong)NSString *Level5;
@end

显然在JSON字符串中,数组中的第一项是ExampleClass Level0,数组中的第二项是ExampleClass Level1等等。

理想情况下,我想将 JSON 数据转换为 NSMutableArray 到 NSDictionary 的格式。我只是迷失了如何转换它。

谢谢

【问题讨论】:

NSJSONSerialization. @user3521174 你从哪里得到问题中的 JSON? 【参考方案1】:

首先将字符串转换为 NSData。假设 NSString JSONString 包含您的 JSON 字符串:

NSData* JSONData = [JSONString dataUsingEncoding:NSUTF8StringEncoding];

然后把这个数据转换成一个NSArray:

NSError *e;
NSArray* finalData = [NSJSONSerialization JSONData options:nil error:&e];

对象finalData 将包含您的所有元素。但是请注意,查看您的字符串似乎 finalData 本身将包含 2 个数组。这两个数组将有你的字符串

【讨论】:

请注意示例 JSON 不是NSString,请注意引号字符未转义。

以上是关于Objective-C:如何将以下 JSON 转换为可用数据的主要内容,如果未能解决你的问题,请参考以下文章

如何将json数据解码为objective-c中的数组[重复]

将objective-c typedef转换为其等效的字符串

将UILabel子类从Objective-C转换为Swift

将 Objective-C 中的函数转换为 swift

Objective-C:如何将 NSIndexSet 转换为 NSIndexPath

如何将 Objective-C 的完成块转换为 Swift?