在javascript中解析复杂的json

在javascript中解析复杂的json,javascript,json,mongodb,Javascript,Json,Mongodb,我从MongoDB获取JSON对象。这是JSON **JSON** { "_id" : ObjectId("5265347d144bed4968a9629c"), "name" : "ttt", "features" : { "t" : { "visual_feature" : "t", "type_feature" : "Numeric", "description_feature"

我从MongoDB获取JSON对象。这是JSON

**JSON**
{
    "_id" : ObjectId("5265347d144bed4968a9629c"),
    "name" : "ttt",
    "features" : {
        "t" : {
            "visual_feature" : "t",
            "type_feature" : "Numeric",
            "description_feature" : "Time"
        },
        "y" : {
            "visual_feature" : "y",
            "type_feature" : "Nominal",
            "description_feature" : "Values to be mapped to the y-axis"
        },
        "x" : {
            "visual_feature" : "x",
            "type_feature" : "Numeric",
            "description_feature" : "Values to be mapped to the x-axis"
        }
    }
}
我正试图从JSON对象中的“features”属性构建一个表。 如何访问javascript中的“features”属性(它是一个子json对象)?从“视觉特征”、“类型特征”和“描述特征”中获取值非常重要。 UPD 我有一个解决办法

  $.ajax({
                                url: VASERVER_API_LOC + '/visualization/' + visid + '/',
                                type: 'GET',
                                contentType: "application/json",
                                 data: tmp_object,
                                success: function(json) {   
                                    var result = [];                         
                                    var keys = Object.keys(json);
                                    keys.forEach(function (key){
                                    result.push(json[key]);
                                    });

                                    for(var i=0; i<result.length; i++){
                                    console.log(">>>  visual_feature  ==  " + result[i].visual_feature);
                                    console.log(">>> type_feature  ==   "  + result[i].type_feature);
                                    console.log(">>>  discription_feature  ==  " + result[i].description_feature);
                                    };

                                }
                            });
$.ajax({
url:VASERVER_API_LOC+'/visualization/'+visid+'/',
键入:“GET”,
contentType:“应用程序/json”,
数据:tmp_对象,
成功:函数(json){
var结果=[];
var keys=Object.keys(json);
键。forEach(功能(键){
push(json[key]);
});

for(var i=0;iJSON创建普通的Javascript对象

您可以像访问任何其他对象的属性一样访问它们的属性:

var myValue = myObject.features.x.visual_type;

JSON创建普通Javascript对象

您可以像访问任何其他对象的属性一样访问它们的属性:

var myValue = myObject.features.x.visual_type;

JSON创建普通Javascript对象

您可以像访问任何其他对象的属性一样访问它们的属性:

var myValue = myObject.features.x.visual_type;

JSON创建普通Javascript对象

您可以像访问任何其他对象的属性一样访问它们的属性:

var myValue = myObject.features.x.visual_type;

假设JSON结果是一个对象,循环如下:

for (var feature in result.features) {
  if (object.hasOwnProperty(feature)) {
    // do table building stuff
    console.log(feature);
  }
}
如果它不是对象,您将执行
JSON.parse(result)


要访问子属性,可以在
内部循环中对
执行另一个

假设JSON结果是一个对象,循环如下:

for (var feature in result.features) {
  if (object.hasOwnProperty(feature)) {
    // do table building stuff
    console.log(feature);
  }
}
如果它不是对象,您将执行
JSON.parse(result)


要访问子属性,可以在
内部循环中对
执行另一个

假设JSON结果是一个对象,循环如下:

for (var feature in result.features) {
  if (object.hasOwnProperty(feature)) {
    // do table building stuff
    console.log(feature);
  }
}
如果它不是对象,您将执行
JSON.parse(result)


要访问子属性,可以在
内部循环中对
执行另一个

假设JSON结果是一个对象,循环如下:

for (var feature in result.features) {
  if (object.hasOwnProperty(feature)) {
    // do table building stuff
    console.log(feature);
  }
}
如果它不是对象,您将执行
JSON.parse(result)



要访问子属性,您可以在
内部循环中为
执行另一个

那么…到目前为止,您尝试了什么?在这里转储一组需求,等待有人为您编写代码,这真是太懒了。for(数据中的功能。功能)console.log(功能[features].visual\u功能)他们应该创建一个子域:simplistic-json-questions.stackoverflow.com——这里有数百个这样的问题谢谢。我有自己的解决方案。你可以用
map()替换你的
forEach()
/
push()
。那么……到目前为止您尝试了什么?在这里转储一组需求,等待有人为您编写代码是非常懒惰的。for(data.features中的feature)console.log(features[feature].visual\u feature)他们应该创建一个子域:simplistic-json-questions.stackoverflow.com——这里有数百个这样的问题谢谢。我有自己的解决方案。你可以用
map()替换你的
forEach()
/
push()
。那么……到目前为止您尝试了什么?在这里转储一组需求,等待有人为您编写代码是非常懒惰的。for(data.features中的feature)console.log(features[feature].visual\u feature)他们应该创建一个子域:simplistic-json-questions.stackoverflow.com——这里有数百个这样的问题谢谢。我有自己的解决方案。你可以用
map()替换你的
forEach()
/
push()
。那么……到目前为止您尝试了什么?在这里转储一组需求,等待有人为您编写代码是非常懒惰的。for(data.features中的feature)console.log(features[feature].visual\u feature)他们应该创建一个子域:simplistic-json-questions.stackoverflow.com——这里有数百个这样的问题谢谢。我有自己的解决方案。你可以用
map()替换你的
forEach()
/
push()
。并非所有javascript环境都解析JSON字符串automatically@Sammaye:有这样做的吗?@Qantas94Heavy没有,我不这么认为,尽管使用库会让人觉得很感谢你。我有一个解决方案。我已经更新了我的主题。并非所有javascript环境都解析JSON字符串automatically@Sammaye:有这样做的吗?@Qantas94Heavy不,我不这么认为,尽管使用库会让它看起来很感谢你。我有一个解决方案。我已经更新了我的主题不是所有javascript环境都解析JSON字符串automatically@Sammaye:有这样做的吗?@Qantas94Heavy不,我不这么认为,尽管使用图书馆会让人觉得很感谢你。我有一个解决方案。我已经更新了我的主题并非所有javascript环境都解析JSON字符串automatically@Sammaye:有这样做的吗?@Qantas94Heavy不,我不这么认为,尽管使用图书馆会让人觉得很感谢你。我有一个解决方案。我已经更新了我的主题