2017-07-05 98 views
-3

我有JSON數據如在本示出下面我需要獲得的數據,其鍵值對爲默認值是1,那麼我需要得到剩餘的字典數據和需要被傳遞給用戶顯示任何一個可以告訴我如何實現這個?如何從Json中獲得特定的值?

我的代碼如下所示

  if let addressArray = jsonObj!.value(forKey: "address") as? NSArray{ 
        for array in addressArray { 
         if let addressDict = array as? NSDictionary{ 
          if let Default = addressDict.value(forKey: "default"){ 

          } 
         } 
        } 
       } 
"address": [ 
    { 
     "default": 0, 
     "number": 9123456711, 
     "name": "Ramesh", 
     "address": "No:11/111 ,cross street,Nungambakkam,mylapore,chennai :600088" 
    }, 
    { 
     "default": 1, 
     "number": 8123456722, 
     "name": "Vignesh", 
     "address": "No:22/222 ,cross street,Perambur,chennai :600012" 
    }, 
    { 
     "default": 0, 
     "number": 7123456733, 
     "name": "Rajesh", 
     "address": "No:33/333 ,cross street,Villivakkam,chennai :600045" 
    } 
    ] 
+0

你完成幾乎你有什麼錯誤?只需添加addressDict成一個陣列,滿足條件的默認1.then使用陣列顯示 –

+0

我需要得到該鍵值對默認爲1,則該數據需要將數據被顯示@DSDharma –

+0

這就是我所問的@DSDharma –

回答

0

您可以檢查是否默認等於1,這些值添加到一個數組。

var defaultArray = [NSDictionary]() 
if let addressArray = jsonObj!.value(forKey: "address") as? NSArray{ 
        for array in addressArray { 
         if let addressDict = array as? NSDictionary{ 
          if let Default = addressDict.value(forKey: "default"){ 
           if Default == 1 { 
           defaultArray.append(addressDict) 
           } 
          } 
         } 
        } 
       } 
0

第1步:準備您的模型,如下面的代碼片段所示。

class Addresses: NSObject { 

var default = 0 
var number = 0 
var name = String() 
var address = String() 

init?(dictionary:[String:Any]) { 

    guard let default = dictionary["default"], 
     let number = dictionary["number"], 
     let name = dictionary["name"], 
     let address = dictionary["address"] 
     else { 
     return nil 
    } 
    self.default = default 
    self.number = number 
    self.name = name 
    self.address = address 
    } 
} 

步驟2:聲明一個數組來存儲解析的地址。

var addressesArray = [Addresses]() 

第三步:

if let addressArray = jsonObj!.value(forKey: "address") as? NSArray{ 
       for array in addressArray { 
        if let addressDict = array as? NSDictionary{ 
         if let defaultValue = addressDict.value(forKey: "default") as? Int{ 
          if defaultValue == 1 { 
          if let address = Addresses(dictionary: addressDict) { 
           addressesArray.append(address) 
          } 
          } 

         } 
        } 
       } 
      } 

完蛋了,小心的數據類型,並且可以使用addressesArray顯示數據。

+0

{ AmountPaid = 1200; CLASSNO = 1; 「CLASS_ID」= 2021; DateOfReciept =「2017-06-08T00:00:00」; 描述= 「[{\」 DES \ 「:\」 錄取\ 「\ 」金額\「:1200},{\ 」DES \「:\ 」由於\「,\ 」金額\「:0}]」 ; MasterID = E0017;}]如果我們有這樣的JSON數據的 –

+0

你的數據不是一個JSON格式的內容。使用(http://jsoneditoronline.org)在線jsonfnrmatter來驗證您的JSON數據 –

+0

https://stackoverflow.com/questions/45136583/display-nested-array-from-json-data-to-tableview-using-alamofire這裏的我的鏈接將幫助我 –