如何构建嵌套JSON对象
How to build nested JSON object?
我是JSON的新手,有一个Java servlet,它提供以下JSON输出:
{
"35808": "Huntsville, Alabama",
"94203": "Sacramento, California",
"33054": "Miami, Florida",
"32801": "Orlando, Florida",
"30301": "Atlanta, Georgia",
"78717": "Austin, Texas"
}
通过Javascript检索JSON后,我想创建一个按状态分组的嵌套JSON,结果应该是:
{
"A": {
"35808": "Huntsville, Alabama"
},
"C": {
"94203": "Sacramento, California"
},
"F": {
"33054": "Miami, Florida",
"32801": "Orlando, Florida"
},
"G": {
"30301": "Atlanta, Georgia"
},
"T": {
"78717": "Austin, Texas"
}
}
使用Javascript最好的方法是什么?或者如果使用Java,最好的方法是什么?
谢谢,Jay
应该这样做:
var parsedJSON = …;
var byState = {};
for (var prop in parsedJSON) {
var address = parsedJSON[prop];
var state = address.split(",")[1] || "";
var stateKey = state.charAt(0);
if (! (stateKey in byState))
byState[stateKey] = {};
byState[stateKey][prop] = address;
}
console.log(JSON.stringify(byState, null, 4));
假设状态已排序。http://jsfiddle.net/N23SL/
var originalJson = {
"35808": "Huntsville, Alabama",
"94203": "Sacramento, California",
"33054": "Miami, Florida",
"32801": "Orlando, Florida",
"30301": "Atlanta, Georgia",
"78717": "Austin, Texas"
}
var groupMe = function(originalJson)
{
var grouped = {};
// loop over each property
for(var key in originalJson)
{
var value = originalJson[key];
var state=value.split(", ")[1];
var stateLetter = state[0];
var letterGroup = grouped[stateLetter];
if(typeof letterGroup === 'undefined')
{
letterGroup = {};
grouped[stateLetter] = letterGroup;
}
letterGroup[key] = value;
}
return grouped;
};
var groupedJson = groupMe(originalJson);
console.log(groupedJson);
相关文章:
- 访问嵌套JSON对象的键,其中键是动态的
- 从多维嵌套json数组创建下拉列表
- 带嵌套json的下划线js查找
- 返回嵌套JSON中包含特定键的所有值
- 嵌套JSON到平面HTML表
- 原型Ajax请求参数为嵌套json
- 从对象数组中动态创建嵌套json
- ExtJS 4.1-检索嵌套JSON的hasOne信息
- 更新嵌套json Angularjs中的对象
- 访问嵌套 json 对象的属性将返回未定义
- 如何解析没有键的嵌套json's的javascript
- 显示嵌套json集合的主干
- 列表中呈现的骨干嵌套json对象
- 如何使用promise来反规范化嵌套json
- 正在读取嵌套json,jquery返回undefined
- Ionic/Angular:如何在嵌套json中导航
- 如何访问AngularJs中的嵌套Json对象
- 使用Javascript查找并更新嵌套JSON数组和对象中的所有键值
- 如何获取给定表单详细信息的嵌套json对象
- 通过Javascript中的递归迭代映射嵌套JSON