如何转换为JSONObject

时间:2018-09-05 16:11:03

标签: javascript extjs

enter image description here下面的代码:

grid.getStore().getAt(0).data.ServiceDetails

输出:

"{brief: {"totalBilledUser":3}, details:{"totalBilledUser":3, "totalBilledUser1":3, "totalBilledUser2":3, "totalBilledUser3":3, "totalBilledUser4":3, "totalBilledUser5":3}}"

请注意,此处的输出以双引号开头。

  1. JSON.parse(grid.getStore().getAt(0).data.ServiceDetails);
    
    输出未捕获的SyntaxError:JSON中位置1处的意外令牌b
  2. JSON.parse(JSON.stringify(grid.getStore().getAt(0).data.ServiceDetails))
    

    它返回原始字符串。

    请指导我将其作为JSON对象获取的正确方法。

1 个答案:

答案 0 :(得分:1)

引号是问题,看看:

"{ brief: { "totalBilledUser": 3 } }"

第一个"标记字符串的开头,但是第二个"而不是打开totalBilledUser的strinf,而是关闭第一个"

可能的解决方案是:

  1. 用单引号'打开和关闭输出。

    '{ brief: { "totalBilledUser": 3 } }'
    
  2. 在输出中转义双引号:

    "{ brief: { \"totalBilledUser\": 3 } }"
    

一旦您实现了上述解决方案之一,至少将有一个有效的字符串。现在,您可以使用JSON.stringify,然后使用JSON.parse将其转换为JSON格式。希望我能说清楚。