gpt4 book ai didi

javascript - 将 JSON 转换为数组 Javascript

转载 作者:数据小太阳 更新时间:2023-10-29 03:50:46 24 4
gpt4 key购买 nike

我目前正在从我的应用程序的服务器端接收一个 JSON 对象,结果是这样的

{"tags":"[{value: 2,label: 'Dubstep'},{value: 3,label: 'BoysIIMen'},{value: 4,label:'Sylenth1'}]"}

但是我真的不需要结果中的“标签”和双引号。

所以我想要的是该 JSON 对象的数组表示

因此我将如何转换它

{"tags":"[{value: 2,label: 'Dubstep'},{value: 3,label: 'BoysIIMen'},{value: 4,label:'Sylenth1'}]"}

对此

[{value: 2,label: 'Dubstep'},{value: 3,label: 'BoysIIMen'},{value: 4,label:'Sylenth1'}]

这是创建数组的循环

String k = "["; 
List<Tag> tg = audioTaggingService.findTagsByName(q);
for(int i = 0; i<audioTaggingService.findTagsByName(q).size();i++){
Tag t = tg.get(i);
if(i == (tg.size() - 1)){
k+="{value: "+t.getId()+",label:'"+t.getName()+"'}";
}else{
k+="{value: "+t.getId()+",label:'"+t.getName()+"'}";
}
}
k+="]";

上面代码的结果是这样的

[{value: 2,label: 'Dubstep'},{value: 3,label: 'BoysIIMen'},{value: 4,label:'Sylenth1'}]

最佳答案

假设您在名为 response 的 javascript 对象中获得服务器端响应,您可以使用 $.parseJSON 函数解析 tags 字符串属性.但首先您需要修复服务器端代码,以便它为 tags 属性返回一个有效的 JSON 字符串(在 JSON 中,属性名称必须用引号引起来):

// This came from the server
var response = {"tags":"[{\"value\": 2,\"label\": \"Dubstep\"},{\"value\": 3,\"label\": \"BoysIIMen\"},{\"value\": 4,\"label\":\"Sylenth1\"}]"};

// Now you could parse the tags string property into a corresponding
// javascript array:
var tags = $.parseJSON(response.tags);

// and at this stage the tags object will contain the desired array
// and you could access individual elements from it:
alert(tags[0].label);

如果出于某种原因您无法修改服务器端脚本以在 tags 属性中提供有效的 JSON,您仍然可以使用 eval 而不是 $.parseJSON :

var tags = eval(response.tags);

这不是推荐的方法,通常您应该避免使用 eval,因为它会执行任意 javascript。

关于javascript - 将 JSON 转换为数组 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14601494/

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