62,615
社区成员
发帖
与我相关
我的任务
分享
var plainJson = {
"sweetzcc.Info.pushSweetToken":"a968",
"sweetzcc.Info.systemName":"Re",
"sweetzcc.Info.device":"android",
"sweetzcc.Info.token":"null",
"sweetzcc.Info.userName":"null",
"sweetzcc.Info.systemV":"7.0",
"Time":"2018-06-0510:02:24",
"sweetzcc.Info.chan":"net",
"sweetzcc.Info.product":"sweet",
"sweetzcc.Info.apple":"BB199DA64A7692E927722BFD1CA",
"Type":"REG",
"sweetzcc.Info.pVersion":"4.9",
"topic":"gjs",
"sweetzcc.needUpdate":"true",
"sweetzcc.Info.uniqueId":"868387",
"hello":"sweetzcc",
"Id":"180605Ceb8NB",
"sweetzcc.Info.update1":"15281",
"sweetzcc.Info.push":"4",
"sweetzcc.Info.key":"63e78ea58",
"sweetzcc.Info.crime":"1528"
}
function unstratify(plainJson) {
var unstratified = {};
var unstratifyField = function(object, key, value) {
var pos = key.indexOf(".");
if (pos == -1) {
object[key] = value;
return;
}
var prefix = key.substring(0, pos);
var suffix = key.substring(pos + 1);
object[prefix] = object[prefix] || {};
unstratifyField(object[prefix], suffix, value);
}
for (var key in plainJson) {
unstratifyField(unstratified, key, plainJson[key]);
}
return unstratified;
}
unstratify(plainJson)
var jsonObj = {
'a': 1,
'b.c.d': 2,
'b.c.f': 3
};
for(var p in jsonObj) {
if(p.indexOf('.') == -1) {
continue;
}
var arr = p.split('\.');
var target = jsonObj[arr[0]] = jsonObj[arr[0]] || {};
for(var i = 1; i < arr.length; i++) {
if(i == arr.length - 1) {
target[arr[i]] = jsonObj[p];
} else {
target = target[arr[i]] = target[arr[i]] || {};
}
}
delete jsonObj[p];
}
alert(JSON.stringify(jsonObj));