如何在Android中创建JSON?

问题描述 投票:2回答:2

我想创建一个像这样的JSON字符串:

[{"addon_id":2,"addon_rate":1550},{"addon_id":3, "addon_rate":300}]

这可能吗?怎么样?

我的代码如下:

String formattedString = BookingDetailsCartAdapter.addones_id.toString().replace("[", "").replace("]", "").trim();
String  formattedString1 = BookingDetailsCartAdapter.addones_rate.toString().replace("[", "").replace("]", "").trim();

myjson="[{\"addon_id\":\""+formattedString+"\",\"addon_rate\":\""+formattedString1+"\"}]";
java android json gson adapter
2个回答
4
投票

你的JSON意味着它是一个包含两个对象的数组,其中包含addon_id和addon_rate。两者都接受数字/整数作为值。首先,您需要创建一个包含多个JSONObject的JSONArray。然后,您必须创建设置键和值的JSONObjects。在此之后,您需要将这些对象添加到您的数组。一旦打印/ toString(),你的jsonArray就会包含上面的字符串

JSONArray jsonArray = new JSONArray();  

JSONObject jsonObjOne = new JSONObject();
jsonObjOne.put("addon_id", 2);
jsonObjOne.put("addon_rate", 1550);

JSONObject jsonObjTwo = new JSONObject();
jsonObjTwo.put("addon_id", 3);
jsonObjTwo.put("addon_rate", 300);

jsonArray.put(jsonObjOne);
jsonArray.put(jsonObjTwo);

3
投票

你可以使用GSON

添加Gradle文件

compile 'com.google.code.gson:gson:2.8.1'


public class Addon{
    public int addon_id;
    public int addon_rate;
 }

Addon addon = new Addon ();
addon.addon_id=2;
addon.addon_id=1550;
Gson gson = new Gson();
String json = gson.toJson(addon); //

// ---对于数组

List<Addon > objList = new ArrayList<Addon >();
objList.add(new Addon (0, 1550));
objList.add(new Addon (1, 1552));
objList.add(new Addon (2, 1553));


String json = new Gson().toJson(objList);
System.out.println(json);

http://www.javacreed.com/simple-gson-example/

© www.soinside.com 2019 - 2024. All rights reserved.