我在console.log中获得了预期的结果,现在我想以跨度显示结果
如下
已安排
司机:
乘客:
活跃
司机:
乘客:
我的工作代码是
$(document).ready(function() {
$.ajax({
asyn: true,
crossDomain: true,
url: "apilink",
dataType: 'JSON',
callback: 'callback',
type: 'GET',
success: function(result) {
//console.log(result)
var obj = jQuery.parseJSON(JSON.stringify(result))
for (var propertyName in obj) {
console.log(propertyName + ":");
for (var internalPropertyName in obj[propertyName]) {
console.log(internalPropertyName + ":" + obj[propertyName][internalPropertyName]);
}
}
}
});
答案 0 :(得分:0)
您可以创建一个函数并在ajax响应中调用此函数。 这将为您添加新的密钥,分别为“ scheduled_count”和“ active_count”
您可以使用
$(document).ready(function() {
$.ajax({
asyn: true,
crossDomain: true,
url: "http://10.26.32.11/api/rating-service/rate/current/gettrips",
dataType: 'JSON',
callback: 'callback',
type: 'GET',
success: function(result) {
//console.log(result)
var obj = jQuery.parseJSON(JSON.stringify(result))
makeFlatModel(obj);
}
});
// For testing no need to add in code
jsobj = {
"scheduled": {
"driver_count": 1,
"passenger_count": 1
},
"active": {
"driver_count": 0,
"passenger_count": 0
}}
makeFlatModel(jsobj );
console.log(jsobj );
// For testing code ends
// add this function in your code
function makeFlatModel(jsonObject){
var sum=0;
for(var propertyName in jsonObject){
if(typeof jsonObject[propertyName] =='object'){
jsonObject[propertyName+"_count"] = makeFlatModel(jsonObject[propertyName]);
}else{
sum+= jsonObject[propertyName];
}
}
return sum;
}
答案 1 :(得分:0)
如果要自动执行任务,可以像下面的示例一样遍历各个键
var obj = {
"scheduled": {
"driver_count": 1,
"passenger_count": 5
},
"active": {
"driver_count": 1,
"passenger_count": 2
}
}
var keys = Object.keys(obj);
keys.forEach(function(key){
var innerKeys = Object.keys(obj[key]);
var s = key;
s = s[0].toUpperCase() + s.slice(1);
var head = s + ": ";
innerKeys.forEach(function(key, idx){
head+= (idx > 0 ? "+" : "") + key.split("_")[0];
});
innerKeys.forEach(function(innerKey){
var s = innerKey.split("_")[0];
s = s[0].toUpperCase() + s.slice(1);
head+="\n" + s + ": " + obj[key][innerKey];
})
console.log(head)
})
这将为您生成密钥并获取值,并生成您要求的确切输出。