Java 如何在Android中创建JSON?
我想创建一个JSON字符串,如下所示:Java 如何在Android中创建JSON?,java,android,json,gson,adapter,Java,Android,Json,Gson,Adapter,我想创建一个JSON字符串,如下所示: [{"addon_id":2,"addon_rate":1550},{"addon_id":3, "addon_rate":300}] 这可能吗?怎么做 我的代码如下: String formattedString = BookingDetailsCartAdapter.addones_id.toString().replace("[", "").replace("]", "").trim(); String formattedString1 = Bo
[{"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+"\"}]";
你可以使用GSON
加载项渐变文件
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);
List您的JSON意味着它是一个数组,包含两个对象,其键为addon\u id和addon\u rate。两者都接受数字/整数作为值。首先,您需要创建一个包含多个JSONObject的JSONArray。然后必须创建设置键和值的JSONObject。在此之后,需要将这些对象添加到数组中。打印/toString()后,jsonArray就会包含上面的字符串
请正确编辑代码,以便理解。清楚地说出你的问题。看一看。糟糕的解决方案。他没有要求将模型映射到json,而是询问如何创建如上所述的json。使用第三方LIB,创建模型。。。生成json不是他要求的for@EmanuelSeibold我不同意。这个解决方案很好。它揭示了一种生成Json的非常友好的方法,而OP并不知道这种方法,并为初学者带来了更多的问题。“什么是Gson?”“除了gradle导入行具有固定版本之外,我如何安装Gson?”。没有第三方LIB就可以完成这一事实误导了初学者,即使我喜欢gson。将gson引入op是好的,但不是解决op问题的最佳方式,因此我同意@EmanuelSeibold。使用大型库而不是本地库有点过分。让op逐渐建立他的可编码性。似乎有一些很好的理由也支持GSON(另请参阅)。我们没有足够的信息知道在这种情况下什么是最好的。我觉得这有点自以为是。到目前为止,这两个答案都是这个问题的合理解决方案。
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);