【问题标题】:Android Json Parsing with multipartEntity使用 multipartEntity 解析 Android Json
【发布时间】:2016-04-07 10:58:31
【问题描述】:

我需要将其解析为 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"}]

【问题讨论】:

    标签: java android json parsing multipartentity


    【解决方案1】:

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

    String transitemjson = gson.toJson(transactionItem);
    

    有了这个:

    JSONElement transitemjson = gson.toJsonTree(transactionItem);
    

    【讨论】:

      猜你喜欢
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      • 2012-09-26
      相关资源
      最近更新 更多