我有json回答
{
"bField":"some data",
"aField":"some data",
"cField":"some data",
"dField":{
"b1Field":"some data",
"c1Field":"some data",
"a1Field":"some data"
}
}
我希望得到json,按字段名称
排序{
"aField":"some data",
"bField":"some data",
"cField":"some data",
"dField":{
"a1Field":"some data",
"b1Field":"some data",
"c1Field":"some data"
}
}
我在服务器上使用Gson来创建json,所以我的第一个问题:Gson可以按名称对字段进行排序吗?或者告诉我一些网站或JavaScript库,它们可以将json转换为json,并按名称字段排序?
更新:
我通过@dariogriffo修改'sortObject'函数来排序嵌套对象字段:
function sortObject(o) {
var sorted = {},
key, a = [];
for (key in o) {
if (o.hasOwnProperty(key)) {
if (o[key]!=null && typeof o[key] === 'object'){
o[key] = sortObject(o[key]);
}
a.push(key);
}
}
a.sort();
for (key = 0; key < a.length; key++) {
sorted[a[key]] = o[a[key]];
}
return sorted;
};
现在对我有用。
答案 0 :(得分:1)
你可以在你的javascript端尝试这个
function sortObject(o) {
var sorted = {},
key, a = [];
for (key in o) {
if (o.hasOwnProperty(key)) {
a.push(key);
}
}
a.sort();
for (key = 0; key < a.length; key++) {
sorted[a[key]] = o[a[key]];
}
return sorted;
}
var q = {
bField:'some data',
aField:'some data',
cField:'some data',
dField:{
b1Field:'some data',
c1Field:'some data',
a1Field:'some data'
}
};
var p = sortObject(q);
console.log(p);