Android Json 使用 multipartEntity 解析

Android Json Parsing with multipartEntity

我需要将其解析为 JsonArray 而不是对象 但它似乎工作正常。

my output is ["{"TransactionVolume":"34","TransactionitemID":"2"}"]

I need it to be [{"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);

Output :

[{"TransactionVolume":"1","TransactionitemID":"5"},{"TransactionVolume":"3","TransactionitemID":"3"}]

您需要使用 JSONElement 而不是 String。 替换此行:

String transitemjson = gson.toJson(transactionItem);

有了这个:

JSONElement transitemjson = gson.toJsonTree(transactionItem);