Java Android Arraylist到JSONObject
我试图从Java Android Arraylist到JSONObject,java,android,json,arraylist,Java,Android,Json,Arraylist,我试图从ArrayList中获取值,并将其放入JSONObject。我已经编写了下面的代码,但它只将最后一个值从arraylist放到jsonobject 我正在努力实现这一目标 {"lstContacts":"array_value"},{"lstContacts":"array_value"},{"lstContacts":"array_value"} 这是我的密码 ArrayList<String> tokens; JSONObject contactsObj; .. ...
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
}
});
ArrayList令牌;
JSONObject contactsObj;
..
...
test.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
for(inti=0;i
您正在重写该对象,因为您对ArrayList
使用了JsonObject
,解决方案是在您的情况下使用JsonArray
contactObj
JSONArray contactsObj;
for (int i = 0; i < tokens.size(); i++) {
contactsObj.put(i, tokens.get(i));
}
JSONArray联系人sobj;
for(inti=0;i
您正在重写该对象,因为您对ArrayList
使用了JsonObject
,解决方案是在您的情况下使用JsonArray
contactObj
JSONArray contactsObj;
for (int i = 0; i < tokens.size(); i++) {
contactsObj.put(i, tokens.get(i));
}
JSONArray联系人sobj;
for(inti=0;i
JSONObject contactsObj=new JSONObject();
for(inti=0;i
JSONObject contactsObj=new JSONObject();
for(inti=0;i
可能最接近你要找的。你甚至不需要为此循环
这将为您提供对象
{
"ContactTokens":["token1","token2","token3"...]
}
可能最接近你要找的。你甚至不需要为此循环
这将为您提供对象
{
"ContactTokens":["token1","token2","token3"...]
}
试试这个:
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
试试这个:
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
contactsObj
需要是一个JSONArray
您发布的输出不是一个有效的JSONObject。正如您所看到的,提供的所有答案都给了您一些稍微不同的东西。这是一个直接的结果,因为我们无法从问题中看出你想要什么。你需要弄清楚你到底在找什么样的东西。当你这样做的时候,你可能已经自己解决了这个问题Git clonecontactsObj
需要是一个JSONArray
你发布的输出不是一个有效的JSONObject。正如你所看到的,提供的所有答案都会给你一些稍微不同的东西。这是一个直接的结果,因为我们无法从问题中看出你想要什么。你需要弄清楚你到底在找什么样的东西。当你这样做的时候,你可能已经自己解决了问题Git clone一个JSONArray更好但是他想要一个JSONObject一个JSONArray更好但是他想要一个JSONObject你应该发布结果对象的样子。你应该发布结果对象的样子。