Javascript 使用Gson向Json数组添加属性

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

我正在使用Gson序列化对象列表,如下所示:

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,…正确吗?是的(我会将
列表
重命名为
响应
,因为它不再是列表)