我需要将其解析为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”},{“ TransactionVolume”:“ 3”,“ TransactionitemID”:“ 3”}]

最佳答案

您需要使用JSONElement代替String
替换此行:

String transitemjson = gson.toJson(transactionItem);


有了这个:

JSONElement transitemjson = gson.toJsonTree(transactionItem);

07-26 03:15