【发布时间】:2019-01-01 05:26:30
【问题描述】:
我正在使用 swiftyjson 来处理我的 json 数据。
目前,我正在接收具有我想要合并在一起的值的数据。 (如果您看一下下面的示例,它会更有意义。我尝试了许多不同的方法,例如使用 for 循环来遍历 JSON 数据,但这会重复所有内容。我还尝试将我的 json 更改为二维数组然后对其进行过滤,但这似乎使事情变得复杂。必须有一种更简单的方法......
var jsondata = {
{
fruit: "APPLE"
amount: 10
},{
fruit: "Mango"
amount: 5
},{
fruit: "APPLE"
amount: 5
},{
fruit: "Mango"
amount: 5
},{
fruit: "orange"
amount: 500
}
}
var NEWjsondata =
{
{
fruit: "APPLE"
amount: 15
},
{
fruit: "Mango"
amount: 10
},
{
fruit: "orange"
amount: 500
}
}
我的方法
var arr = ["Apple","Mango","Orange"]
for (key,json) in jsondata {
arr.append(json["fruit"])
if arr.contains(json["fruit"]){
json["amount"] = json["amount"] + json["amount"]
}}
【问题讨论】:
-
那不是有效的 JSON 数据。 Here你可以看看它是否有效。
-
@Purpose 这是一个伪代码伙伴:]
-
显示您尝试过的代码。创建一个可以支持数组中项目类型的新字典,然后遍历数组,如果“水果”已经存在,则添加数量,如果没有则添加水果和数量。
-
@Scriptable 用我的方法更新了帖子。您的建议的问题是它会导致添加重复的条目。这是我采取的第一种方法。
-
如果您先检查水果是否存在,则不会。