如何将ArrayList转换为JSON对象

15
public ArrayList<String> convertJsonToJsonObject(){

    ArrayList<String> mylist = new ArrayList<String> ();

    mylist.add("abc");
    mylist.add("cfd");
    mylist.add("ert");
    mylist.add("fg");
    mylist.add("ujk");
    mylist.add("wer");

    mylist.add("dvb");
    mylist.add("ert");


    System.out.println("JSONObject :: "+(JSONObject)JSONSerializer.toJson(mylist));
}

我在.toJson()方法处遇到错误,我不确定我犯了什么错误。


4
  1. 这个错误说了什么?
  2. 你正在使用哪个 Json 库?
- nos
5个回答

22
你可以使用GSON库来实现这个功能。
 ArrayList<String> mylist = new ArrayList<String> ();
 mylist.add("abc");
 mylist.add("cfd");
 mylist.add("ert");
 mylist.add("fg");
 mylist.add("ujk");
 String json = new Gson().toJson(mylist);

您可以参考GSON用户指南获取更多支持。


一定要在你的项目中包含GSON库! - rageandqq
我正在尝试将数组转换为JSON对象。JSONArray jsArray = new JSONArray(mylist); System.out.println("打印数组" + jsArray); for (int i = 0; i < mylist.size(); i++) { jsArray.put(mylist.get(i)); } JSONObject obj = new JSONObject(); System.out.println("打印对象" + obj); - newbie

9
JSONArray jsArray = new JSONArray(mylist);

或者

Gson gson = new Gson();
String jsonArray = gson.toJson(mylist);

在这里获取 java-json.jarGson.jar


我已经得到了一个数组的输出["acb ", "adg ", "tyy "]。现在我想将JSON数组转换为JSON对象。有没有办法可以做到这一点? - newbie
嗨,无论你得到什么,它都是JSON对象。 - SparkOn
你现在明白这个概念了吗?也许你之前有些困惑,因为它不是键值对。阅读这个网站(http://json.org/),你就会理解它了。 - SparkOn

3

它说,类型Object未定义toJson(ArrayList<String>)方法。@Peter Liljenberg - newbie
List<String> mylist = new ArrayList<> (); myList.add("hello"); System.out.println(new Gson().toJson(mylist)); - dikkini
哦,我明白了。我给你这个库的谷歌代码链接,你需要下载它并将其添加到你项目的依赖中。 - dikkini

3
ArrayList<Domain> list = new ArrayList<Domain>();
list.add(new Domain());
list.add(new Domain());
list.add(new Domain());
String json = new Gson().toJson(list);

你能说一下如何检索列表中的值吗? - Arun Joseph
@ArunJoshla List<Domain> videos = gson.fromJson(json, new TypeToken<List<Domain>>(){}.getType());,其中json是答案的最后一行初始化的字符串值。 - Shaaban Ebrahim

2
List<String> bibo = new ArrayList<String>();
bibo.add("obj1");
bibo.add("obj2");
bibo.add("obj3");
String json = new Gson().toJson(bibo);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接