我正在使用angularjs http get方法来获取数据,我得到的JSON格式是:
{"SITE1":[
{
"name":"name1",
"status":"0",
"id":23,
"isDeleted":false
},
{
"name":"name2",
"status":"0",
"id":13,
"isDeleted":false
}],
"SITE2":[
{
"name":"name3",
"status":"0",
"id":2,
"isDeleted":false
}
]}
但我希望数据格式为
{"location" : "SITE1",
"services" : [
{
"name":"name1",
"status":"0",
"id":23,
"isDeleted":false
},
{
"name":"name2",
"status":"0",
"id":13,
"isDeleted":false
}],
"location" : "SITE2",
"services":[
{
"name":"name3",
"status":"0",
"id":2,
"isDeleted":false
}
]}
请帮忙,如何做到这一点。 我尝试使用
object["location"] = key;
object["status"] = value;
添加这些字段。但是这里出了点问题。
答案 0 :(得分:1)
您的请求将无效,正如“无处男人”所述,因为您此刻正在为同一个键设置不同的值,以便仅显示最后一个。在我看来,最好的解决方案是拥有一系列对象。
public void onVisualAdviceChanged(final boolean firstVisualAdviceChanged, final boolean secondVisualAdviceChanged,
final SKNavigationState navigationState) {
if (firstVisualAdviceChanged) {
SKCrossingDescriptor currentImageCrossingDescriptor =
navigationState.getFirstCrossingDescriptor();
String currentVisualAdviceImage = "[base path of map resouces]/current_advice_image.png";
final SKVisualAdviceColor firstVisualAdviceColor = new SKVisualAdviceColor();
firstVisualAdviceColor.setAllowedStreetColor(new
float[]{0.2f, 0.2f, 0.2f, 0.4f});
firstVisualAdviceColor.setForbiddenStreetColor(new
float[]{0.2f, 0.2f, 0.2f, 0.7f});
firstVisualAdviceColor.setRouteStreetColor(new
float[]{0.2f, 0.2f, 0.2f, 1});
SKNavigationManager.getInstance().renderVisualAdviceImage(currentImageCrossingDescriptor,
currentVisualAdviceImage, firstVisualAdviceColor);
}
请参阅此plunkr http://plnkr.co/edit/5UdDEl?p=preview