我想创建一个像这样的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+"\"}]";
你的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);
你可以使用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);