jqgrid的Json格式

时间:2015-01-12 05:58:38

标签: javascript json jqgrid

我如何删除json对象中的第一个“{”和最后一个“}”?

{
  [{
    "idroutes": "73",
    "idstops": "97",
    "bodyno": "UWN237",
    "eta": "2015-01-08 20:29:13",
    "sequence_number": "0",
    "device_id": "861074027368953",
    "duration": "1.13",
    "duration_from_origin": "1.13"
  }, {
    "idroutes": "73",
    "idstops": "104",
    "bodyno": "UWN237",
    "eta": "2015-01-08 20:40:13",
    "sequence_number": "1",
    "device_id": "861074027368953",
    "duration": "10.92",
    "duration_from_origin": "12.05"
  }, {
    "idroutes": "73",
    "idstops": "100",
    "bodyno": "UWN237",
    "eta": "2015-01-08 20:44:13",
    "sequence_number": "2",
    "device_id": "861074027368953",
    "duration": "4.44",
    "duration_from_origin": "16.49"
  }, {
    "idroutes": "73",
    "idstops": "99",
    "bodyno": "UWN237",
    "eta": "2015-01-08 20:48:13",
    "sequence_number": "3",
    "device_id": "861074027368953",
    "duration": "3.36",
    "duration_from_origin": "19.85"
  }, {
    "idroutes": "73",
    "idstops": "101",
    "bodyno": "UWN237",
    "eta": "2015-01-08 20:53:13",
    "sequence_number": "4",
    "device_id": "861074027368953",
    "duration": "4.92",
    "duration_from_origin": "24.77"
  }, {
    "idroutes": "73",
    "idstops": "102",
    "bodyno": "UWN237",
    "eta": "2015-01-08 20:59:13",
    "sequence_number": "5",
    "device_id": "861074027368953",
    "duration": "6.36",
    "duration_from_origin": "31.13"
  }, {
    "idroutes": "73",
    "idstops": "93",
    "bodyno": "UWN237",
    "eta": "2015-01-08 21:08:13",
    "sequence_number": "6",
    "device_id": "861074027368953",
    "duration": "8.4",
    "duration_from_origin": "39.53"
  }, {
    "idroutes": "73",
    "idstops": "95",
    "bodyno": "UWN237",
    "eta": "2015-01-08 21:12:13",
    "sequence_number": "7",
    "device_id": "861074027368953",
    "duration": "4.2",
    "duration_from_origin": "43.73"
  }, {
    "idroutes": "73",
    "idstops": "94",
    "bodyno": "UWN237",
    "eta": "2015-01-08 21:15:13",
    "sequence_number": "8",
    "device_id": "861074027368953",
    "duration": "2.88",
    "duration_from_origin": "46.61"
  }, {
    "idroutes": "73",
    "idstops": "96",
    "bodyno": "UWN237",
    "eta": "2015-01-08 21:23:13",
    "sequence_number": "9",
    "device_id": "861074027368953",
    "duration": "8.88",
    "duration_from_origin": "55.49"
  }]
}
不过,这些数据来自我调用过的API,希望它能在jqgrid中显示。我试图复制结果然后将其存储在变量中,但仍然没有任何反应。但当我尝试删除第一个和最后一个花括号时,结果很好。只是想知道为什么会发生这种情况以及如何删除这些

3 个答案:

答案 0 :(得分:0)

输入数据不正确。它对于JSON格式的观点是无效的。例如,您可以验证数据here。外部对象{}必须包含属性,但您必须包含[] ,而不指定相应的属性名称,例如{ "rows": []}

因此,为了使输入数据有效JSON数据,您应该删除外括号{}或在开始内括号{{1}之前添加属性的名称(例如"rows":) }。

答案 1 :(得分:0)

由于json格式错误,这种情况正在发生。

如果你从" {"表示它是一个具有键及其值的json对象。

如果你从" ["表示它的数组格式不需要密钥对,它只是值数组或json对象。

有2个解决方案

1)你应该根据你的数据给出获取json数组的关键值。

2)你应该只从你的API中获取json数组,

目前,您正在将json数组放入json中。

答案 2 :(得分:0)

如果数据以字符串形式返回,您可以使用JSON.parse通过获取实际字符串的子字符串轻松解析数据 -



var a ='{[{ "idroutes": "73", "idstops": "97", "bodyno": "UWN237", "eta": "2015-01-08 20:29:13", "sequence_number": "0", "device_id": "861074027368953", "duration": "1.13", "duration_from_origin": "1.13" }, { "idroutes": "73", "idstops": "104", "bodyno": "UWN237", "eta": "2015-01-08 20:40:13", "sequence_number": "1", "device_id": "861074027368953", "duration": "10.92", "duration_from_origin": "12.05" }, { "idroutes": "73", "idstops": "100", "bodyno": "UWN237", "eta": "2015-01-08 20:44:13", "sequence_number": "2", "device_id": "861074027368953", "duration": "4.44", "duration_from_origin": "16.49" }, { "idroutes": "73", "idstops": "99", "bodyno": "UWN237", "eta": "2015-01-08 20:48:13", "sequence_number": "3", "device_id": "861074027368953", "duration": "3.36", "duration_from_origin": "19.85" }, { "idroutes": "73", "idstops": "101", "bodyno": "UWN237", "eta": "2015-01-08 20:53:13", "sequence_number": "4", "device_id": "861074027368953", "duration": "4.92", "duration_from_origin": "24.77" }, { "idroutes": "73", "idstops": "102", "bodyno": "UWN237", "eta": "2015-01-08 20:59:13", "sequence_number": "5", "device_id": "861074027368953", "duration": "6.36", "duration_from_origin": "31.13" }, { "idroutes": "73", "idstops": "93", "bodyno": "UWN237", "eta": "2015-01-08 21:08:13", "sequence_number": "6", "device_id": "861074027368953", "duration": "8.4", "duration_from_origin": "39.53" }, { "idroutes": "73", "idstops": "95", "bodyno": "UWN237", "eta": "2015-01-08 21:12:13", "sequence_number": "7", "device_id": "861074027368953", "duration": "4.2", "duration_from_origin": "43.73" }, { "idroutes": "73", "idstops": "94", "bodyno": "UWN237", "eta": "2015-01-08 21:15:13", "sequence_number": "8", "device_id": "861074027368953", "duration": "2.88", "duration_from_origin": "46.61" }, { "idroutes": "73", "idstops": "96", "bodyno": "UWN237", "eta": "2015-01-08 21:23:13", "sequence_number": "9", "device_id": "861074027368953", "duration": "8.88", "duration_from_origin": "55.49" }]}';

console.dir(JSON.parse(a.substring(1,a.length-1)));