Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用js删除json中特定索引处的字符?_Javascript_Jquery_Json_String_Replace - Fatal编程技术网

Javascript 如何使用js删除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":"

我有一个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
               }
            }
         ]
      },

   ]
]

我需要删除数组末尾的
逗号,即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)));