最新消息:20210917 已从crifan.com换到crifan.org

【已解决】JS的ES6中如何把json字符串转换为字典变量

JSON crifan 6133浏览 0评论

Javascript的ES6中,希望把一个(JSON格式的)字符串:

{
    "currentCowfarmId" : "8a9bfdab5a21ca27015a21d72fb20000",
    "tokenid": "e0864163789646159096b6949ad8c606",
    "success": true,
    "userId": "037ed4ec964a4583b6abb0cd03e237ff",
    "longinUserType": "0",
    "cowfarmList": [
       。。。
        {
            "id": "8a9bfdab5a21ca27015a21d72fb20000”,
            。。。 
            "link_man": "xxx"
        },
        。。。
    ]
}

转换为对应的字典变量。

自己先去试了试:

JSON

结果提示:

[eslint] ‘JSON’ is not a function. (no-obj-calls)
const JSON: JSON
An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.

所以换成Object试试,貌似可以:

    let userInfoDict = Object(userInfoJson);
    console.log(userInfoDict);
    console.log(typeof(userInfoDict));
    // alert(userInfoDict);

输出的是object类型的变量

结果再去输出其中的变量:

    let userInfoDict = Object(userInfoJson);
    console.log(userInfoDict);
    console.log(typeof(userInfoDict));
    // alert(userInfoDict);
    console.log(userInfoDict.currentCowfarmId);
    console.log(userInfoDict.cowfarmList);
    console.log(typeof(userInfoDict.cowfarmList));

结果都是未定义:

js ES6 json string to dict

javascript – Convert JS object to JSON string – Stack Overflow

貌似js中没有dict类型的变量?

javascript – In Node.js, how do I turn a string to a json? – Stack Overflow

然后换用:

JSON.parse(yourJsonString);

后:

    // let userInfoDict = Object(userInfoJson);
    let userInfoDict = JSON.parse(userInfoJson);
    console.log(userInfoDict);
    console.log(typeof(userInfoDict));
    // alert(userInfoDict);
    console.log(userInfoDict.currentCowfarmId);
    console.log(userInfoDict.cowfarmList);
    console.log(typeof(userInfoDict.cowfarmList));

结果就正常了,可以获得需要的值了:

【总结】

JS中,通过:

JSON.parse(yourJsonString);

即可把json格式字符串转换为JSON对象了。

其中,常见的JSON对象,包括{xxx}的字典变量,[x,x,x]的列表变量等等。

注意,此处不论是JSON的dict还是,(JSON中的)dict中的list,typeof出来的类型都是object

转载请注明:在路上 » 【已解决】JS的ES6中如何把json字符串转换为字典变量

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
92 queries in 0.244 seconds, using 23.36MB memory