![](/img/trans.png)
[英]Android: Remove specific part of string that is inside a jsonObject, inside an arraylist
[英]Android Arraylist to JSONObject
我試圖從ArrayList
獲取值並放入JSONObject
。 我已經寫了下面的代碼,但是它只會將arraylist中的最后一個值放到jsonobject中
我正在努力實現這一目標。
{"lstContacts":"array_value"},{"lstContacts":"array_value"},{"lstContacts":"array_value"}
這是我的代碼
ArrayList<String> tokens;
JSONObject contactsObj;
..
...
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
for (int i = 0; i < tokens.size(); i++) {
contactsObj.put("ContactToken", tokens.get(i));
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String jsonStr = contactsObj.toString();
Log.e("CONTACTS", jsonStr); // adds only last array to json object
}
});
嘗試這個:
JSONObject contactsObj = new JSONObject();
JSONArray contactsArray = new JSONArray();
try {
for (int i = 0; i < tokens.size(); i++) {
JSONObject contact = new JSONObject();
contact.put("ContactToken", tokens.get(i));
contactsArray.put(i, contact);
}
contactsObj.put("contacts", contactsArray);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String jsonStr = contactsObj.toString();
Log.e("CONTACTS", jsonStr); // adds only last array to json object
結果jsonStr將如下所示:
{
"contacts":[
{
"ContactToken":"someToken"
},
{
"ContactToken":"someToken"
},
{
"ContactToken":"someToken"
},
{
"ContactToken":"someToken"
}
]
}
您要覆蓋該對象,因為u要將JsonObject
用於ArrayList
,解決方案是在您的情況下使用JsonArray
contactObj
JSONArray contactsObj;
for (int i = 0; i < tokens.size(); i++) {
contactsObj.put(i, tokens.get(i));
}
JSONObject contactsObj = new JSONObject();
for (int i = 0; i < tokens.size(); i++) {
contactsObj.put("lstContacts" + String.valueOf(i), tokens.get(i));
}
// done...
contactsObj.put("ContactTokens", new JSONArray(tokens));
可能最接近您要尋找的東西。 您甚至不需要為此循環。
這會給你對象
{
"ContactTokens":["token1","token2","token3"...]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.