【发布时间】:2021-07-19 18:04:16
【问题描述】:
我们正在开发一个集成工具,它在 JSON 下生成,它创建一个对象数组而不是对象,我们的最终应用程序不支持这种数组结构,我们无法在集成工具中更改结构,但是我们可以添加可以执行此操作的javascript。我添加了当前和预期的 JSON 有效负载。 dataReq 段内的括号需要删除提前谢谢!
当前 Json:
{
"abc": [
{
"abcId": "1",
"dataReq": [
{
"url": "/api.css.com",
"body": {
"desc": "Sprint",
"na": "Customer Data",
"tzone": "America/Los_Angeles"
},
"method": "PATCH",
"refData": "OP"
},
[
{
"url": "/api.css.com/v1",
"body": {
"day": "Monday",
"end": "18:00:00.000Z",
"start": "08:00:00.000Z",
"hours": "08",
"Type": "Normal"
},
"method": "PATCH",
"refData": "timeslotN"
},
{
"url": "/api.css.com/v2",
"body": {
"DayOfWeek": "Tuesday",
"EndTime": "18:00:00.000Z",
"StartTime": "08:00:00.000Z",
"hours": "09",
"Type": "Normal"
},
"method": "PATCH",
"refData": "timeslotN"
}
],
{
"url": "/api.css.com/v3",
"body": {
"Name": "Spirit2",
"Type": "murchast",
"Parent": {
"accID": "2"
},
"street": "CR Steet",
"city": "NYK",
"state": null,
"postal": "9020",
"state": null,
"country": "LZ",
},
"method": "PATCH",
"refData": "Account"
},
{
"url": "/api.css.com/v4",
"body": {
"account": "12321",
"state": {
"statecode": "311"
}
},
"method": "PATCH",
"refData": "acst"
}
]
}
]
}
预期的 JSON:
{
"abc": [
{
"abcId": "1",
"dataReq": [
{
"url": "/api.css.com",
"body": {
"desc": "Sprint",
"na": "Customer Data",
"tzone": "America/Los_Angeles"
},
"method": "PATCH",
"refData": "OP"
},
{
"url": "/api.css.com/v1",
"body": {
"day": "Monday",
"end": "18:00:00.000Z",
"start": "08:00:00.000Z",
"hours": "08",
"Type": "Normal"
},
"method": "PATCH",
"refData": "timeslotN"
},
{
"url": "/api.css.com/v2",
"body": {
"DayOfWeek": "Tuesday",
"EndTime": "18:00:00.000Z",
"StartTime": "08:00:00.000Z",
"hours": "09",
"Type": "Normal"
},
"method": "PATCH",
"refData": "timeslotN"
},
{
"url": "/api.css.com/v3",
"body": {
"Name": "Spirit2",
"Type": "murchast",
"Parent": {
"accID": "2"
},
"street": "CR Steet",
"city": "NYK",
"state": null,
"postal": "9020",
"state": null,
"country": "LZ",
},
"method": "PATCH",
"refData": "Account"
},
{
"url": "/api.css.com/v4",
"body": {
"account": "12321",
"state": {
"statecode": "311"
}
},
"method": "PATCH",
"refData": "acst"
}
]
}
]
}
【问题讨论】:
-
两者有什么区别?目前真的很难说
-
解决办法始终是从源头上解决问题。在客户端上对其进行黑客攻击会导致需要维护的混乱情况翻倍。它特别需要修复,因为列表中的第一项是一个对象,其余的都在一个数组中——源真的被破坏了,需要修复。
标签: javascript jquery arrays json object