如何用JAVA解析这个json?

qq_27825913 2016-02-14 03:32:05
最近遇到一个问题,要将从页面获取的json进行再拼装之后供接口调用使用。
因为项目使用了Jfinal框架,所以从网站上找到一段代码来获取request的json,于是最后得到一个字符串,它的结构是这样的:
[{"A":"A","B":"B","C":"C"},{"A":"A","B":"B","C":"C"}]
那么问题来了,它是一个形状是map数组的字符串。
而一个字符串是不能强制转换成一个map数组的。
现在要做到能将这个字符串转换成map数组,希望各位大神有思路或者有过这种经验的可以不吝赐教。
多谢多谢。
...全文
229 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27825913 2016-02-29
  • 打赏
  • 举报
回复
多谢各位大神,已结贴给分。
默雨茗 2016-02-14
  • 打赏
  • 举报
回复
依赖gson.jar
@Test
	public void parseJson(){
		String json="[{\"A\":\"A\",\"B\":\"B\",\"C\":\"C\"},{\"A\":\"A\",\"B\":\"B\",\"C\":\"C\"}]";
		
		Gson gson=new Gson();
		Type type=new TypeToken<List<Map<String,Object>>>() {
			private static final long serialVersionUID = 1L;
		}.getType();
		List<Map<String,Object>> list=gson.fromJson(json, type);
		System.out.println(list.get(0).get("A"));
	}
心碎了无痕 2016-02-14
  • 打赏
  • 举报
回复
String result = "[{"A":"A","B":"B","C":"C"},{"A":"A","B":"B","C":"C"}]"; JSONArray jsonArray = JSONArray.fromObject(result ); int len = jsonArray.size(); Object[] mapArrays = new Object[len]; for(int index = 0; index < len; index++) { Map<String, String> map = new HashMap<String, String>(); JSONObject jsonObj = jsonArray.getJSONObject(index); Iterator<String> itr = jsonObj.keys(); while(itr.hasNext()) { String key = itr.next(); String value = jsonObj.getString(key); map.put(key, value); } mapArrays[index] = map; } 以上使用的是json-lib-2.4.jar 但是你可以使用类似Gson或者Jackson类库实现
seantdj 2016-02-14
  • 打赏
  • 举报
回复
{“data”:[{"A":"A","B":"B","C":"C"},{"A":"A","B":"B","C":"C"}]} 先把它变成这样成为一个json对象的字符串,转换成json对象之后想怎么取就怎么取

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧