如何从 Json 中获取特定值?
Posted
技术标签:
【中文标题】如何从 Json 中获取特定值?【英文标题】:how to get the particular value from Json? 【发布时间】:2017-07-05 09:48:48 【问题描述】:我有如下所示的 Json 数据,我需要获取默认键值对为 1 的数据,然后我需要获取剩余的字典数据并需要传递给用户以显示任何谁能告诉我如何实现这个?
而我的代码如下所示
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"
]
【问题讨论】:
你几乎完成了你的错误是什么?只需将addressDict添加到一个满足条件默认为1的数组中。然后使用该数组显示 我需要获取默认键值对为一个的数据,然后需要显示数据@DSDharma 这只是我问@DSDharma的方式 对于初学者来说,即使简单也不会太难,也只需找到并做它。祝你好运 【参考方案1】:您可以检查 Default 是否等于 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)
【讨论】:
【参考方案2】:Step1:准备你的模型,如下面的代码 sn-p 所示。
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:声明一个数组来存储解析后的地址。
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来显示数据。
【讨论】:
AmountPaid = 1200;类别 = 1; “CLASS_ID”=2021; DateOfReciept = "2017-06-08T00:00:00";说明 = "[\"des\":\"录取\",\"金额\":1200,\"des\":\"到期\",\"金额\":0]"; MasterID = E0017;] 如果我们有这种 JSON 数据会怎样 您的数据不是 json 格式。使用 (jsoneditoronline.org) 在线 jsonfnrmatter 验证你的 json 数据 ***.com/questions/45136583/… 这是我的链接,你能帮我吗 是的,当然@Bikesh Thakur。以上是关于如何从 Json 中获取特定值?的主要内容,如果未能解决你的问题,请参考以下文章