• 4
  • 新人请关照

json内的字符串形式的json如何反序列化

在一个json中,有个字符串形式的值,但这个值("{b:1}")本身也是个json,如何在反序列化的时候,将这个字符串形式的值(即a)转为json对象

原始json对象

{a:"{b:1}"}

希望反序列化成的json对象

{a:{b: 1}}

阅读 148
评论
    4 个回答
    function strToData(data) {
        let keys = Object.keys(data);
        keys.map(key => {
            if (typeof data[key] == 'string') {
                data[key] = eval(`(${data[key]})`)
            }
        })
        return data;
    }
    
    let data = {a: "{b:1}",c: "{d:2}"};
    strToData(data) // {a: {b:1},c: {d:2}}