在swift中从解析的json中获取字典var

时间:2018-02-20 21:44:13

标签: json swift xcode

我正在尝试在dict变量中设置json中的所有已解析信息,但它返回一个空dict。当我得到数组值时,一切都很好。 这是我的代码:

let dic = json.arrayValue

                                for each in dic {
                            let data = each["data"].dictionaryValue
                               print (data)
                                    let date = each["date"].stringValue
                                   print (date)
}

解析日期也可以。并注意我的json文件不是空的。因为当我得到arrayValue时一切都很好。这是我print each["data"].arrayValue时的输出:

[{
  "factoryPrice" : 0,
  "size" : 25,
  "t5" : 0,
  "t3" : 0,
  "type" : 1,
  "bongahPrice" : 2435,
  "sherkat" : "",
  "priceConfirmed" : 1,
  "id" : 1658,
  "factory" : 9,
  "exist" : true,
  "t1" : 0,
  "provice" : 1,
  "properties" : {
    "طول" : "12 متری",
    "info" : "",
    "استاندارد" : "A2",
    "standard" : "A3",
    "رنگ" : "مشکی",
    "نوع" : "آجدار"
  },
  "factoryName" : "نیشابور",
  "city" : 306,
  "name" : "",
  "phoneNumber" : "09338810407",
  "createdAt" : "2018-02-16 12:52:50",
  "ownerId" : 282,
  "shomareSabt" : "",
  "t4" : 0,
  "profileType" : 0,
  "t2" : 0,
  "modirName" : "آرزومند",
  "bongahName" : "میلگرد تهران",
  "updatedAt" : "11:36",
  "weight" : 22,
  "group" : 57,
  "bongahAddress" : "بازاراهن شادباد بوستان بلوک  B",
  "bongahPhone" : "02166139083"
}]

这只是其中一个数组。我得到多个阵列作为回应。 那我该怎么办?

1 个答案:

答案 0 :(得分:0)

你拥有的JSON有一个数组作为它的顶级元素。第一个字符清楚地表明了这一点:[

您无法直接获取JSON的字典值,因为它代表一个数组。这是尝试让dictionaryValue返回nil的原因。