[英]How to remove a character in json at specific index using js?
我有一个JSON代码如下:
[
[
{
"title":"Shirt Front",
"thumbnail":"http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg",
"elements":[
{
"type":"image",
"source":"http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg",
"title":"Base",
"parameters":{
"left":325,
"top":329,
"colors":"#d59211",
"price":20,
"colorLinkGroup":"Base",
"fill":false
}
}
]
},
{
"title":"Shirt Front",
"thumbnail":"http://ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg",
"elements":[
{
"type":"image",
"source":"ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg",
"title":"Base",
"parameters":{
"left":325,
"top":329,
"colors":"#d59211",
"price":20,
"colorLinkGroup":"Base",
"fill":false
}
}
]
},
]
]
我需要删除数组末尾的comma
,即。 json的最后两个字符前的逗号。 因此,上述json是无效的json。 我需要使用JS来实现。
假设您输入的是字符串,这是另一种方法。 它在字符串中找到逗号的最后一个索引,然后使用string.splice
组装没有该逗号的新字符串。
const JSON = `[ [ { "title":"Shirt Front", "thumbnail":"http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg", "elements":[ { "type":"image", "source":"http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg", "title":"Base", "parameters":{ "left":325, "top":329, "colors":"#d59211", "price":20, "colorLinkGroup":"Base", "fill":false } } ] }, { "title":"Shirt Front", "thumbnail":"http://ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg", "elements":[ { "type":"image", "source":"ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg", "title":"Base", "parameters":{ "left":325, "top":329, "colors":"#d59211", "price":20, "colorLinkGroup":"Base", "fill":false } } ] }, ] ]` lastComma = JSON.lastIndexOf(',') const JSONnew = JSON.slice(0, lastComma) + JSON.slice(lastComma + 1, JSON.length) console.log(JSONnew)
您可以使用eval,但知道这很危险,此代码是有效的JavaScript
const json = `[
[
{
"title":"Shirt Front",
"thumbnail":"http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg",
"elements":[
{
"type":"image",
"source":"http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg",
"title":"Base",
"parameters":{
"left":325,
"top":329,
"colors":"#d59211",
"price":20,
"colorLinkGroup":"Base",
"fill":false
}
}
]
},
{
"title":"Shirt Front",
"thumbnail":"http://ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg",
"elements":[
{
"type":"image",
"source":"ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg",
"title":"Base",
"parameters":{
"left":325,
"top":329,
"colors":"#d59211",
"price":20,
"colorLinkGroup":"Base",
"fill":false
}
}
]
},
]
]`
const validJsArray = eval(json)
JSON.stringify
将为您清理。
var my_cool_object = [
[
{
"title": "Shirt Front",
"thumbnail": "http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg",
"elements": [
{
"type": "image",
"source": "http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg",
"title": "Base",
"parameters": {
"left": 325,
"top": 329,
"colors": "#d59211",
"price": 20,
"colorLinkGroup": "Base",
"fill": false
}
}
]
},
{
"title": "Shirt Front",
"thumbnail": "http://ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg",
"elements": [
{
"type": "image",
"source": "ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg",
"title": "Base",
"parameters": {
"left": 325,
"top": 329,
"colors": "#d59211",
"price": 20,
"colorLinkGroup": "Base",
"fill": false
}
}
]
},
]
];
var valid_json_string = JSON.stringify(my_cool_object);
var json = [ ... ]
console.log(JSON.parse(JSON.stringify(json)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.