Javascript 如何使用js删除json中特定索引处的字符?
我有一个json代码,如下所示:Javascript 如何使用js删除json中特定索引处的字符?,javascript,jquery,json,string,replace,Javascript,Jquery,Json,String,Replace,我有一个json代码,如下所示: [ [ { "title":"Shirt Front", "thumbnail":"http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg", "elements":[ { "type":"image", "source":"
[
[
{
"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
}
}
]
},
]
]
我需要删除数组末尾的
逗号,即json最后两个字符之前的逗号。因此,上述json是无效的json。我需要使用JS实现这一点 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);
您可以使用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)
这里是另一种方法,假设您的输入是字符串。它在字符串中查找逗号的最后一个索引,然后使用string.splice
组合一个没有该逗号的新字符串
const JSON=`[
[
{
“标题”:“衬衫正面”,
“缩略图”:http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg",
“要素”:[
{
“类型”:“图像”,
“来源”:http://ipadd/pub/media/catalog/product//b/l/blue-back_2.jpg",
“标题”:“基础”,
“参数”:{
“左”:325,
“顶级”:329,
“颜色”:“d59211”,
“价格”:20,
“colorLinkGroup”:“Base”,
“填充”:错误
}
}
]
},
{
“标题”:“衬衫正面”,
“缩略图”:http://ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg",
“要素”:[
{
“类型”:“图像”,
“来源”:“ipadd/pub/media/catalog/product//b/l/blue-back_1_1.jpg”,
“标题”:“基础”,
“参数”:{
“左”:325,
“顶级”:329,
“颜色”:“d59211”,
“价格”:20,
“colorLinkGroup”:“Base”,
“填充”:错误
}
}
]
},
]
]`
lastcoma=JSON.lastIndexOf(',')
const JSONnew=JSON.slice(0,lastcoma)+JSON.slice(lastcoma+1,JSON.length)
log(JSONnew)
这是字符串还是JS源代码?您可以对其求值并使用JSON.stringify
重新编码。在生成时将其删除。在收到JSON后在JS中执行此操作是一个很难解决的问题。
var json = [ ... ]
console.log(JSON.parse(JSON.stringify(json)));