我需要将其解析为JsonArray,而不是对象但它似乎不能正常工作。
我的输出是["{"TransactionVolume":"34","TransactionitemID":"2"}"]
我需要它是[{"TransactionVolume":"34","TransactionitemID":"2"}]
这是我的代码的一部分
public class TransactionItem {
public String TransactionitemID;
public String TransactionVolume;
public String getTransactionVolume() {
return TransactionVolume;
}
public void setTransactionVolume(String transactionVolume) {
TransactionVolume = transactionVolume;
}
public String getTransactionitemID() {
return TransactionitemID;
}
public void setTransactionitemID(String transactionitemID) {
TransactionitemID = transactionitemID;
}
}
TransactionItem transactionItem = new TransactionItem();
transactionItem.setTransactionitemID(article.toString());
transactionItem.setTransactionVolume(volume.toString());
String transitemjson = gson.toJson(transactionItem);
JSONArray ja = new JSONArray();
ja.put(transitemjson);
String test = ja.toString().replaceAll("\\"", """);
Ja似乎是正确的输出
["{\"TransactionVolume\":\"34\",\"TransactionitemID\":"2\"}"]
所以我试着在乞求和结束时用"但仍然是"来代替所有的。
修剪字符串似乎不是一个好主意,但它可以起作用。有其他方法吗?
编辑
这让我进球了!
ArrayList<TransactionItem> Transactionlist = new ArrayList<>();
for (int i=0; i < CompleteArticle.size(); i++) {
String id = CompleteArticle.get(i);
String Volume = CompleteVolume.get(i);
TransactionItem transactionItem = new TransactionItem();
transactionItem.setTransactionitemID(id);
transactionItem.setTransactionVolume(Volume);
//transactionitems.transactionitems.add(transactionItem);
Transactionlist.add(transactionItem);
}
JsonElement transitemjson = gson.toJsonTree(transactionItems);
输出:
[{"TransactionVolume":"1","TransactionitemID":"5"},{"交易卷":"3","交易项ID":"3"}]
您需要使用JSONElement
而不是String
。替换此行:
String transitemjson = gson.toJson(transactionItem);
有了这个:
JSONElement transitemjson = gson.toJsonTree(transactionItem);