问题
I am having the Json data as shown below in this I need to get the data that which key value pair for default is 1 then i need to get the remaining dictionaries data and need to be passed to the user to display can any one tell me how to implement this ?
And my code is as shown below
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"
}
]
回答1:
You can check if Default equals 1 and add those values to an array.
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)
}
}
}
}
}
回答2:
Step1: Prepare your model as shown in below code snippet.
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
}
}
Step2: Declare an array to store parsed addresses.
var addressesArray = [Addresses]()
Step3:
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)
}
}
}
}
}
}
Thats it, take care of datatypes, and you can use addressesArray to display data.
来源:https://stackoverflow.com/questions/44922697/how-to-get-the-particular-value-from-json