Json(JavaScript Object Notation)是一种轻量级的数据交换格式,它以键值对的形式存储数据,易于阅读与编写。JsonArray是其中的一种数据类型,表示一个由多个对象组成的数组,本文将从多个方面阐述JsonArray转String的方法。
一、JsonArray转String数组
JsonArray转String数组可以方便地将Json数据转换为Java中的数组类型,以下是示例代码:
JSONArray jsonArray = new JSONArray("[\"apple\", \"banana\", \"orange\"]"); int length = jsonArray.length(); String[] stringArray = new String[length]; for (int i = 0; i < length; i++) { stringArray[i] = jsonArray.getString(i); }
先通过JSONArray构造函数将Json字符串转换为JsonArray对象,然后通过数组的长度循环遍历JsonArray,将其中的每个元素获取到,并存入String数组中。
二、JsonArray转String字符串
JsonArray转String字符串可以将JsonArray对象直接转换为String类型,以下是示例代码:
JSONArray jsonArray = new JSONArray("[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]"); String jsonString = jsonArray.toString();
JsonArray对象的toString方法可以将其转换为String类型,从而方便地在网络传输或存储中使用。
三、JsonArray转List
JsonArray转List可以将JsonArray对象转换为Java中的List类型,以下是示例代码:
JSONArray jsonArray = new JSONArray("[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]"); List<JSONObject> jsonObjectList = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { jsonObjectList.add(jsonArray.getJSONObject(i)); }
通过JsonArray对象的getJSONObject方法可以将其中的每个Json对象取出,并添加到Java的List中。
四、JsonArray获取值
JsonArray获取值可以通过给定键(index)获取JsonArray中的元素,以下是示例代码:
JSONArray jsonArray = new JSONArray("[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]"); JSONObject jsonObject = jsonArray.getJSONObject(0); int age = jsonObject.getInt("age"); String name = jsonObject.getString("name");
通过JsonArray对象的getJSONObject方法获取到指定位置的Json对象,并通过键(index)获取到其中的具体值。
五、JsonString转Map
JsonString转Map可以将Json字符串转换为Java中的Map类型,以下是示例代码:
String jsonString = "{\"name\":\"Tom\",\"age\":18}"; Type type = new TypeToken<Map<String, Object>>() {}.getType(); Map<String, Object> resultMap = new Gson().fromJson(jsonString, type);
通过新建一个TypeToken对象来指定转换类型,然后通过Gson库的fromJson方法将Json字符串转换为Java中的Map对象。
六、Json转String
Json转String可以将Json对象或者JsonArray对象转换为String字符串,以下是示例代码:
JSONObject jsonObject = new JSONObject("{\"name\":\"Tom\",\"age\":18}"); String jsonString = jsonObject.toString();
Json对象和JsonArray对象都有toString方法可以将其转换为String类型,方便在网络传输或者存储时使用。
七、JsonNode转String
JsonNode转String可以将JsonNode对象转换为String类型,以下是示例代码:
JsonNode rootNode = objectMapper.readTree("{\"name\":\"Tom\",\"age\":18}"); String jsonString = objectMapper.writeValueAsString(rootNode);
通过ObjectMapper类的readTree方法可以将Json字符串转换为JsonNode对象,然后通过writeValueAsString方法将其转换为String类型。
八、JsonObject转String
JsonObject转String可以将JsonObject对象转换为String类型,以下是示例代码:
JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name", "Tom"); jsonObject.addProperty("age", 18); String jsonString = jsonObject.toString();
先新建一个空的JsonObject对象,然后通过addProperty方法添加键值对,最后通过toString方法将其转换为String类型。