String字符串转换成JsonArray的两种方法,以及JSONArray解析为List<Map>的方法

1、首先引入相关的jar包(gson、JSONObject、JSONArray)

点我下载

2、编写代码

public class Test {

	public static void main(String[] args) {
        //String转换成JSONArray
		String test="[{\"name\":\"john\",\"age\":\"22\",\"className\":\"mca\"},{\"name\":\"zhang\",\"age\":\"23\",\"className\":\"nima\"}]";
		JsonParser parser = new JsonParser();
		JsonElement tradeElement = parser.parse(test);
		JsonArray jsonArray = tradeElement.getAsJsonArray();
		JSONArray jsonArray1 = JSONArray.fromObject(test);
		System.out.println("data="+jsonArray);
		System.out.println("data="+jsonArray1);

        //JSONArray转换成List<Map>
		Iterator it = jsonArray1.iterator();
		List<Map> result = new ArrayList<Map>();
		while(it.hasNext()) {
			//将每一个jsonArray转换成字符串
			String ja = it.next().toString();
			//将每一个字符串转换为JSONObject
			JSONObject jo = JSONObject.fromObject(ja);
			Map map = jo;
			result.add(map);
		}
		
		//将得到的list遍历出来
		it = result.iterator();
		while(it.hasNext()) {
			Map m = (Map)it.next();
			System.out.println(m.get("name"));
		}

	}

}

3、查看控制台输出结果

4、引用场景

  在移动应用开发中 ,前端和后端之间交流的数据格式通常是使用json字符串,有时前端需要提供json数组给后端,而后端收到的json数组仅仅是字符串格式,并不是真正的JsonArray对象,需要将字符串对象解析成真正的JsonArray对象则需要用到上述方法。

同样,在移动端难免会收到服务器端提供的JsonArray字符串,移动端也需要将JsonArray字符串解析成List<Map>后才可以通过操作集合中的map来获取相应的键-值对数据。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值