这是我的字符串,
var str=""{\"checkedRows\":\"[{\"SlNo\":\"1\",\"ItemCode\":\"8\",\"ItemDetail\":\"Cassue Nut\",\"Qty\":\"140\",\"Rate\":\"2000\",\"Amount\":280000\"}]\",\"checkedIndex\":\"[0]\"}"";
我正在尝试获取子字符串,如下所示
[{\"SlNo\":\"1\",\"ItemCode\":\"8\",\"ItemDetail\":\"Cassue Nut\",\"Qty\":\"140\",\"Rate\":\"2000\",\"Amount\":280000\"}]
我正在尝试下面的代码来分割
var newStr = str.substring(str.lastIndexOf("[") + 1, str.lastIndexOf("]"))
但无法取得它。
答案 0 :(得分:1)
首先请注意,您的JSON字符串周围有一个额外的前导和尾随双引号。其次,JSON本身是完全错误的。您需要修复它所具有的错误(主要是额外/错误匹配的双引号),所以它看起来像这样:
'{"checkedRows":[{"SlNo":"1","ItemCode":"8","ItemDetail":"Cassue Nut","Qty":"140","Rate":"2000","Amount":280000}],"checkedIndex":[0]}'
完成后,您可以将字符串解析为对象,然后检索checkedRows
属性并再次对其进行字符串化,如下所示:
var str = '{"checkedRows":[{"SlNo":"1","ItemCode":"8","ItemDetail":"Cassue Nut","Qty":"140","Rate":"2000","Amount":280000}],"checkedIndex":[0]}';
var obj = JSON.parse(str);
var newStr = JSON.stringify(obj.checkedRows);
console.log(newStr);