在javascript中拆分两个字符

时间:2016-07-20 11:35:56

标签: javascript jquery

这是我的字符串,

  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("]"))

但无法取得它。

1 个答案:

答案 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);