【问题标题】:Adding Values to JSON Data Set向 JSON 数据集添加值
【发布时间】:2017-02-05 06:57:25
【问题描述】:

假设我有一个 JSON 数据集,格式为:

{ "fruits": {
    "apple": {
        "color": red,
        "size": small
    }
    "orange": {
        "color": orange,
        "size": small
    }
}

如何向每个数据点添加一个额外的名称数据点(使用 JavaScript 之类的东西来解析数据),使它们看起来像这样:

{ "fruits": {
    "apple": {
        "color": red,
        "size": small,
        "name": apple
    }
    "orange": {
        "color": orange,
        "size": small,
        "name": orange
    }
}

我知道将 id 和 name 值都作为水果的名称似乎是多余的,但我需要这个结构用于我正在处理的程序。有什么建议吗?

【问题讨论】:

    标签: javascript json parsing firebase


    【解决方案1】:

    首先,您的属性应该在引号中(除非它们是变量,但我不认为它们是,即:

    "apple": {
        "color": "red",
        "size": "small"
    }
    

    你的两个水果之间需要一个逗号。

    现在你要做的就是循环遍历每个水果并添加一个与其名称相同的新属性:

    for (var property in data.fruits) {
        if (data.fruits.hasOwnProperty(property)) {
            data.fruits[property].name = property;
        }
    }
    

    方括号表示法允许您访问动态或可变属性名称,这使得设置名称属性相当简单。请参阅 this answer 了解如何遍历数组。

    下面的 sn-p 演示了实际代码:

    var data = { 
    	"fruits": {
    		"apple": {
    			"color": "red",
    			"size": "small"
    	    },
    		"orange": {
    			"color": "orange",
    			"size": "small"
    		}
    	}
    }
    
    
    
    for (var property in data.fruits) {
        if (data.fruits.hasOwnProperty(property)) {
    		data.fruits[property].name = property;
        }
    }
    
    
    console.log(data);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-08
      • 2020-08-23
      • 1970-01-01
      • 2020-02-09
      • 2021-02-08
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      相关资源
      最近更新 更多