gpt4 book ai didi

ios - 从 JSON 响应创建一个对象,修改值,并在 Swift 中返回它

转载 作者:行者123 更新时间:2023-11-28 05:29:18 24 4
gpt4 key购买 nike

在我最近开发的一个应用程序中,客户希望能够在他们的 POS 系统中创建一个新用户。他们的 POS 系统是基于网络的,并且有大量的 API,所以这很容易。

现在他们希望应用在创建重复用户之前查看用户是否存在,这很好。但是,如果重复,他们还想更新用户记录中的信息。

POS 系统的 API 返回包含 250 多个字段的扩展“客户”JSON 响应。我只需要更新其中的 4 个字段。

有没有办法从“Get Customer”响应(它是一个多维数组)轻松创建对象、编辑特定值,然后将该对象作为 JSON 回传到“Update Customer”方法?

编辑#1

我仍然无法解决这个问题。为了进一步阐明该过程及其工作原理:

1) API调用获取用户信息
2)通过JSON返回的用户信息。响应是一个非常大的、多维的响应。
3) 必须编辑返回的 JSON 客户中的 4 个字段
4) 然后需要使用 JSON 创建“参数”以 PUT/POST 回 API。

这是我到目前为止所做的:

var existingCustomer = NSMutableDictionary()

...Function to acquire JSON using Alamofire...

var json = JSON(response!)
let d = json["Customer"]["Customer"].dictionaryValue

for (k, v) in d {
if let value = v.string {
self.existingCustomer[k] = value
}
//CHECK FOR OTHER TYPES
}

这可以使字典看起来类似于 JSON,但是我担心客户 JSON 的多维方面。我不确定 value 一旦被检查为 dictionaryObject 是否会保持它的 K,V 关系。不过我还没有测试过。

一旦我完成了 existingCustomer 字典,我就可以遍历条目以创建用于 POST/PUT 的参数,但是,同样,它们需要保留它们的 KV 关系。

参数通常看起来像:

var params = [
"firstName":"John",
"lastName":"Appleseed",
"photos": [
"url":"www.website.com",
"width":1024,
"height":768
],
"addresses": [
"shippingAddress": [
"street":"123 Test Road"
],
"homeAddress": [
"street":"456 Test Crescent"
]
],
"phone":"555-555-5555"
]

只有很长很长。大约有 200 KVs

最佳答案

使用@GoodByeStackOverflow 的Aldwych 存储库,我能够相当轻松地解决这个问题。我能够直接修改 JSON 对象的克隆版本,然后将其作为 NSDictionary 发送回 API 服务器。

关于ios - 从 JSON 响应创建一个对象,修改值,并在 Swift 中返回它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com