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);
我需要将其解析为 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);