Javascript 打印JSON对象的数组

Javascript 打印JSON对象的数组,javascript,jquery,mysql,json,laravel-4,Javascript,Jquery,Mysql,Json,Laravel 4,我从mysql表中检索到一个JSON编码的对象,格式如下: {immovable_property: "{"immovable_subdivision":["a","b","c","d"], "immovable_prop_details":["a","b ","c","d"], "immovable_cost":["a","b","c","d"], "immovable_present_value":["a","b","c","d"], "immovable_owner":["a","b",

我从mysql表中检索到一个JSON编码的对象,格式如下:

{immovable_property: 
"{"immovable_subdivision":["a","b","c","d"],
"immovable_prop_details":["a","b ","c","d"],
"immovable_cost":["a","b","c","d"],
"immovable_present_value":["a","b","c","d"],
"immovable_owner":["a","b","c","d"],
"immovable_how_acquired":["a","b","c","d"],
"immovable_annual_income":["a","b","c","d"],
"immovable_remarks":["a","b","c","d"],
"add_subdivision":"e",
"add_prop_details":"e",
"add_cost":"e",
"add_present_value":"e",
"add_owner":"e",
"add_how_acquired":"e",
"add_annual_income":"e",
"add_remarks":"e "}"
}
我无法打印键的值,老实说,我不确定它是否是正确的JSON格式。非常感谢您的帮助

编辑 我使用Laravel检索数据的代码如下:

$data = Property::where("users_id","=",Input::get('user_id'))->select('immovable_property')->first();
return Response::json($data);
我使用以下方式打印返回的对象:

document.write(data.immovable_property);
它给出了由JSONLint验证的输出:

{
    "immovable_subdivision": [
        "a",
        "b",
        "c",
        "d"
    ],
    "immovable_prop_details": [
        "a",
        "b ",
        "c",
        "d"
    ],
    "immovable_cost": [
        "a",
        "b",
        "c",
        "d"
    ],
    "immovable_present_value": [
        "a",
        "b",
        "c",
        "d"
    ],
    "immovable_owner": [
        "a",
        "b",
        "c",
        "d"
    ],
    "immovable_how_acquired": [
        "a",
        "b",
        "c",
        "d"
    ],
    "immovable_annual_income": [
        "a",
        "b",
        "c",
        "d"
    ],
    "immovable_remarks": [
        "a",
        "b",
        "c",
        "d"
    ],
    "add_subdivision": "e",
    "add_prop_details": "e",
    "add_cost": "e",
    "add_present_value": "e",
    "add_owner": "e",
    "add_how_acquired": "e",
    "add_annual_income": "e",
    "add_remarks": "e "
}

你的编辑完全改变了问题

是的,JSON是有效的。您可以通过JSON解析它。解析:

var obj = JSON.parse(immovable_property);
…然后访问结果上的命名属性,例如:

console.log(obj.immovable_subdivision.length); // 4
您可以通过返回数组的
Object.keys
获取所有属性名的列表

例如:

//您的字符串
不动产=
'{' +
“不动产”细分:+
‘a’+
“‘b’,”+
"c",+
“d”+
'    ],' +
“不可移动的道具细节”:+
‘a’+
“‘b’,”+
"c",+
“d”+
'    ],' +
“不动产成本”:['+
‘a’+
“‘b’,”+
"c",+
“d”+
'    ],' +
“不动产现值”:['+
‘a’+
“‘b’,”+
"c",+
“d”+
'    ],' +
“不动产所有人”:+
‘a’+
“‘b’,”+
"c",+
“d”+
'    ],' +
“不动产”是如何获得的:+
‘a’+
“‘b’,”+
"c",+
“d”+
'    ],' +
“不动产年收入”:+
‘a’+
“‘b’,”+
"c",+
“d”+
'    ],' +
“不动的话”:+
‘a’+
“‘b’,”+
"c",+
“d”+
'    ],' +
“添加细分”:“e”+
“添加项目详细信息”:“e”+
“增加成本”:“e”+
“增加现值”:“e”+
“添加所有者”:“e”+
“添加如何获得”:“e”+
“加上年收入”:“e”+
“添加备注”:“e”+
'}';
//解析它
var obj=JSON.parse(不动产);
//通过带文字名称的点表示法访问属性
snippet.log('obj.immovable_subdivision.length='+obj.immovable_subdivision.length);//4.
//或通过带字符串名称的括号表示法
snippet.log('obj[“不可移动的细分”].length='+obj[“不可移动的细分”].length);//4.
//您可以将所有键(属性名称)作为
//Object.keys中的字符串数组,用于
//使用括号表示法输出它们
log(“所有属性:”);
Object.keys(obj).forEach(函数(key){
log('obj[“'+key+']”]='+obj[key]);
});

用于检查json的有效性。谢谢。你能检查一下更新的问题吗?先前的“json”是从console.log复制粘贴的