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