无法转换为Json String

时间:2017-02-21 18:11:43

标签: javascript json

我已经使用json.stringify将字符串temp转换为Json字符串然后oar控制台.log(b_json.x)的输出未定义。 ? 这是我的boys.json文件

{
    "b1":{

        "attractiveness":"10",
        "intelligence":"9",
        "budget":"500",
        "minAtt":"6",
        "committed":"false",
        "girlname":""

    },
    "b2":{

        "attractiveness":"15",
        "intelligence":"8",
        "budget":"600",
        "minAtt":"7",
        "committed":"false",
        "girlname":""

    },
    "b3":{

        "attractiveness":"13",
        "intelligence":"6",
        "budget":"900",
        "minAtt":"8",
        "committed":"false",
        "girlname":""

    },
}

这是我的boys.js文件 -

var b_json = require('./boys.json');

function utility() {
    var arr_boys = new Array(3);;
    for (var i = 1 ; i < arr_boys.length; i++) {
        var temp = 'b'+i;
        var t = JSON.stringify(temp);
        var x = JSON.parse(t);
        console.log(b_json.x);
    }
}

utility()

3 个答案:

答案 0 :(得分:0)

您对JSON的使用完全没用;你将字符串转换回自身。

您实际上只是想要filter

答案 1 :(得分:0)

当你使用JSON.parse(t)将t转换为x时,然后将boys.json转换为javascript对象。然而,当你检查b_json.x时,你要求得到&#34; x&#34;来自b_json的属性 - 它很可能没有名为x的属性。尝试使用console.log(b_json)来查看对象中的内容。

答案 2 :(得分:0)

为什么在这里需要JSON.parse或Stringify。 你可以直接试试吗?

function utility() {
    var arr_boys = new Array(3);;
    for (var i = 1 ; i < arr_boys.length; i++) {
        var temp = 'b'+i;
        //var t = JSON.stringify(temp);
        //var x = JSON.parse(t);
        console.log(b_json[temp]);
    }
}