如何将JSON加载到数组ios?

时间:2017-05-16 06:02:50

标签: ios objective-c iphone json

我在线创建了JSON,因为我必须将JSON插入我在本地使用的数据库。

所以到目前为止我在网上创建了JSON:

{
  "City": [
    "Anaheim",
    "Surat",
    "Aheldaba",
    "Vadobasa"
  ],
  "State": [
    "Gujarat",
    "Pennsylvania",
    "MP",
    "ULK"
      ],

  ",string": ",Hello World"
}

现在我必须把这个JSON带到我的数组中,这样我就可以轻松地将它添加到数据库中。

直接添加这个JSON的方法是什么?

4 个答案:

答案 0 :(得分:0)

尝试使用它。

NSString *jsonString = @"your json string";
NSData *jSONObjectWithData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *jsonError = nil;
id jsonObject = [NSJSONSerialization jSONObjectWithData:jsonData options:kNilOptions error:&jsonError];

答案 1 :(得分:0)

首先,您需要通过执行以下操作将您的json字符串转换为NSData

NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];

NSError *parsingError = nil;

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&parsingError];

NSArray *cityArray = [json objectForKey:@"City"];

答案 2 :(得分:0)

 if (data) {
                NSError* error;
                NSDictionary* json = [NSJSONSerialization
                                      JSONObjectWithData:data //1
                                      options:kNilOptions
                                      error:&error];
    if(!error){

    id totalRecords = json.mutableCopy;//[json objectForKey:@"hits"];

         if ([totalRecords isKindOfClass:[NSDictionary class]]) {
                    NSArray *records =[totalRecords objectForKey:@"data"];

          }
          else if ([totalRecords isKindOfClass:[NSArray class]]){
                    NSArray *records =totalRecords.mutableCopy;

           }

    }
}

答案 3 :(得分:0)

这是你可以创建一种字典或者你说键值对的方法。但是,绝对必须使用UTFStringEncoding将子字符串转换为数据,然后将其提供给NSJSONSerialization.JSONObject()以获取键值对。

class JSON{
    func convertJSON(){
        do{
            let data:NSData? = jsonString.dataUsingEncoding(NSUTF8StringEncoding)
            let json = try? NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
            print(json)
        }
        catch {
            print("Error is \(error)")
        }
    }
}