Javascript 使用Gson向Json数组添加属性
我正在使用Gson序列化对象列表,如下所示:Javascript 使用Gson向Json数组添加属性,javascript,json,gson,Javascript,Json,Gson,我正在使用Gson序列化对象列表,如下所示: String responseMessage = new Gson().toJson(pages.get(pagenumber)); 我想添加另一个要在javascript中读取的属性,但这与列表无关: {"numberofpages":x} 我试过这个: JsonElement responsemessage = new Gson().toJsonTree(pages.get(pagenumber)); JsonObject me
String responseMessage = new Gson().toJson(pages.get(pagenumber));
我想添加另一个要在javascript中读取的属性,但这与列表无关:
{"numberofpages":x}
我试过这个:
JsonElement responsemessage = new Gson().toJsonTree(pages.get(pagenumber));
JsonObject message = (JsonObject) responsemessage;
message.addProperty("numberofpages",numberofpages);
。。。但我不能,因为responsemessage
是JSONArray。如何在此字符串版本的responseMessage
中编码更多信息,以便在javascript中读取:
$.get("/lod1/Data",{pagenumber: page},function(list){
console.log(list);
//???
//if(list.numberofpages == 5){
// }
$.each(list,function(index,card){
$("#questionsforsets").append('<tr><td class="questioncell"><div class="longtexttd">'+card.card+'</div></td><td>'+card.category+'</td><td>'+card.made+'</td><td>'+card.missed+'</td></tr>');
});
},"json");
$.get(“/lod1/Data”,{pagenumber:page},函数(列表){
控制台日志(列表);
//???
//如果(list.numberofpages==5){
// }
$。每个(列表、功能(索引、卡片){
$(“#问题集”)。附加(“”+卡片.卡片+“”+卡片.类别+“”+卡片.制作+“”+卡片.缺失+“”);
});
}“json”);
正如您所发现的,您不能向JSON数组添加属性
如果responsemessage
是一个数组,并且需要传递另一个值,则应将此数组和该值放入新对象中。像这样的方法应该会奏效:
JsonObject responseObject = new JsonObject();
responseObject.addProperty("pages", responsemessage);
responseObject.addProperty("numOfPages", numberOfPages);
(当然,您处理此响应的JS代码需要进行相应调整)很酷,因此要访问列表,它应该是:$。每个(list.pages,…正确吗?是的(我会将
列表
重命名为响应
,因为它不再是列表)