java - 将数组列表对象转换为 jsonarray

标签 java android json

我有 arraylist 需要转换为 json 数组才能在服务器中发布

json的格式应该是这样的:

{
   p:1,
   s:["a":1,"b":2],["a":2,"b":3],["a":3,"b":4]
}

假设我有:

List<MyObject> objectList = new ArrayList<MyObject>();
MyObject myObject = new MyObject();
myObject .setA(1);
myObject .setB(2);

myObject .setA(2);
myObject .setB(3);

myObject .setA(3);
myObject .setB(4);

objectList.add(myObject);

我当前的代码是:

   for (int i = 0; i < objectList.size(); i++) {
        JSONArray ar = new JSONArray();
        ar.put("a:"+objectList.get(i).getA());
        ar.put("b:"+objectList.get(i).getB());

        jOuter.put("s",ar);
    }

但这不起作用,当前的返回是:

{"p":1,"s":["a:20","b:10.0"]}

谢谢。

最佳答案

不应该是这样吗?

JSONArray ar = new JSONArray();
for (int i = 0; i < objectList.size(); i++) {

        JSONObject objects = new JSONObject();
        objects.put("a", objectlist.get(i).getA();
        objects.put("b", objectlist.get(i).getB();

        ar.put(objects);

    }
        jOuter.put("s",ar);

关于java - 将数组列表对象转换为 jsonarray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32839616/

相关文章:

json - 使用 JQ 从 bash 中的 JSON 对象检索值

java - 这里可以避免递归吗?找到将一个字符串转换为另一个字符串的最少方法

java - Kotlin Jackson Mapper 将 String 反序列化为 HashMap<String, Any> 而不是类型

java - 如何将查询的结果集转换为可以进一步解析以创建 json 的 pojo 类?

android - 运行此 AVD 需要 KVM。未知错误!请提交针对 Android Studio 的错误

javascript - 使用 javascript/lodash 从输入字符串中解析 html 内容

java - if (!statement) 和 if (statement != true) 之间的区别?

android - 从 Android Studio 运行应用程序不再保存到我的 Android 设备上

android - 如何添加一个开关到android操作栏?

ruby - 使用 JSON.parse 时出现意外编码错误