首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将字符串转换为JSON对象

将字符串转换为JSON对象
EN

Stack Overflow用户
提问于 2012-06-11 16:49:11
回答 7查看 605.9K关注 0票数 167

如何让JS认为字符串是JSON?

我有一个函数,它只有在JSON对象被传递给它时才起作用。如果我向它传递一个与JSON格式相同的字符串,它就不能工作。所以我想让该函数认为传递给它的字符串是一个JSON。该字符串确实是JSON格式的。

我还尝试了以下方法。我通过Ajax输入字符串,参数为"handle as“为"JSON",然后将结果传递给函数,它就可以工作了。

所以我推断问题不在于字符串。如何将此字符串转换为JSON?如果我通过ajax请求获得相同的字符串,然后将其传递给函数,则可以工作,而直接传递则不起作用。

字符串如下:

代码语言:javascript
复制
  {
     "data": [
   {
  "id": "id1",
      "fields": [
        {
          "id": "name1",
          "label": "joker",
          "unit": "year"
        },
         {"id": "name2", "label": "Quantity"},
    ],
      "rows": [    data here....

and closing braces..
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-06-11 16:51:30

代码语言:javascript
复制
var obj = JSON.parse(string);

其中string是您的json字符串。

票数 386
EN

Stack Overflow用户

发布于 2012-06-11 16:52:27

代码语言:javascript
复制
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );

链接:-

http://api.jquery.com/jQuery.parseJSON/

票数 6
EN

Stack Overflow用户

发布于 2014-01-17 08:51:31

我和你的类似的字符串也有同样的问题

代码语言:javascript
复制
{id:1,field1:"someField"},{id:2,field1:"someOtherField"}

这里的问题是字符串的结构。在这种情况下,json解析器没有识别出需要创建2个对象。所以我所做的有点愚蠢,我只是重新构造了我的字符串,并添加了解析器识别的[]

代码语言:javascript
复制
var myString = {id:1,field1:"someField"},{id:2,field1:"someOtherField"}
myString = '[' + myString +']'
var json = $.parseJSON(myString)

希望能有所帮助,

如果有人有更优雅的方法,请分享。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10976897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档