如何解决将 3 个数组转换为格式化的 JSON?
我是 JavaScript 的初学者。 我的问题: 将3个数组组合成完美的JSON格式
数组 1:
const arr1=
[
{
"Country": "India vs Pakistan","players": "20","counts": "65","runs": "298"
},{
"Country": "India vs NewZeland","players": "12","counts": "39","runs": "445"
}
]
Array2:
const arr2=
[
{
"MatchPlayedDay": "Monday"
}
]
Array3:
const arr3=
[
{
"TotalCounts": 80
}
]
预期输出:
[
{
"result": [ //arr1
{
"match": "India vs Pakistan","runs": "298"
},{
"match": "India vs NewZeland","runs": "445"
}
],"Day": { //arr2
"MatchPlayedDay": "Monday"
},"values":{ //arr3
"TotalCounts": 80
}
}
]
我试过这样: 常量是:arr1、arr2、arr3
const symbol = [` "result:"${arr1},"Day:"${arr2},"values:"${arr3} `]
console.log(symbol)
但是,它不起作用。有时,通过进行一些修改,有时我会得到 [object][object]
我是否需要先使用 Regex 表达式 来删除这个:[]
或其他方式...请告诉任何人?
解决方法
我不知道为什么你需要一个只有一个元素的数组,但试试下面的解决方案
[
{
"result": arr1,"Day": arr2,"values": arr3
}
]
,
const arr4 = [...arr1,...arr2,...arr3];
演示:
const arr1 = [{
"Country": "India vs Pakistan","players": "20","counts": "65","runs": "298"
},{
"Country": "India vs NewZeland","players": "12","counts": "39","runs": "445"
}
]
const arr2 = [{
"MatchPlayedDay": "Monday"
}]
const arr3 = [{
"TotalCounts": 80
}]
const arr4 = [...arr1,...arr3];
console.log(arr4);
我不知道这是否是一次性解决方案,或者您是否会在很多地方使用它。但正如 @krystian Sztadhaus 所说,您只需要将对象键指向数组。但是当您将数组用于结果,并将数组内的对象用于其他键时,您可能需要访问数组索引以获取对象值。
const arr1 = [
{
Country: 'India vs Pakistan',players: '20',counts: '65',runs: '298',},{
Country: 'India vs NewZeland',players: '12',counts: '39',runs: '445',];
const arr2 = [
{
MatchPlayedDay: 'Monday',];
const arr3 = [
{
TotalCounts: 80,];
const merged = {
result: [...arr1],Day: { ...arr2[0] },values: { ...arr3[0] },};
const jsonResult = JSON.stringify(merged,null,4);
,
Spread syntax 使串联变得容易:
let result = []
result.push(...arr1,...arr3)
如果您想将对象转换为 JSON,您可以使用 JSON.stringify()。
let myJsonString = JSON.stringify(result);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。