首页 > 开发 > Java > 正文

java中处理json各种各样的转换方法(推荐)

2024-07-13 10:13:29
字体:
来源:转载
供稿:网友

JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。

Json必需的包:

commons-httpclient-3.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
json-lib-2.2.3-jdk13.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar

出现java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher错误是因为没有导入ezmorph.jar文件或版本不对。

出现java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap错误是因为没有导入commons-collections.jar文件或版本不对。

1.java集合 json集合之间的转换

1. Java集合转换成Json集合

关键类:JSONArray jsonArray = JSONArray.fromObject(Object obj);

使用说明:将Java集合对象直接传进JSONArray.fromObject()中,得到一个JSONArray集合,再直接使用JSONArray的toString()方法,便可得到json集合

示例代码:

@Test  public void testCreateJsonArray() {    //Java集合    List<Employee> list = new ArrayList<Employee>();    list.add(new Employee("zhangSan","13"));    list.add(new Employee("liSi","14"));    //创建json集合    JSONArray jsonArray = JSONArray.fromObject(list);    System.out.println(jsonArray.toString());  }

输出结果:

[{"age":"13","name":"zhangSan"},{"age":"14","name":"liSi"}]

2. Json集合转换成Java集合

关键类: JSONArray jsonArray = JSONArray.fromObject(Object obj);

使用说明:将json字符串对象传入,便可得到一个JSONArray对象,再调用JSONArray对象的toCollection(JSONArray jsonArray, Class clss)方法,便可得到一个Java对象的集合。

示例代码:

@Test  public void testParseJsonArray() {    //json集合    String jsonString = "[{/"age/":/"13/",/"name/":/"zhangSan/"},{/"age/":/"14/",/"name/":/"liSi/"}]";        JSONArray jsonArray = JSONArray.fromObject(jsonString);    //Java集合    List<Employee> list = (List<Employee>) jsonArray.toCollection(jsonArray, Employee.class);    for(Employee employee : list){      System.out.println(employee);    }  }

输出结果:

[name=zhangSan,age=13][name=liSi,age=14]

2.JAVA实现XML与JSON互相转换方法

1.XML转换为Json

public static String xmlToJson(String xml) {XMLSerializer serializer = new XMLSerializer();return serializer.read(xml).toString();}

2.JSON转换为XML

public static String jsonToXML(String json) {  XMLSerializer xmlSerializer = new XMLSerializer();  // 根节点名称  xmlSerializer.setRootName("xml");  // 不对类型进行设置  xmlSerializer.setTypeHintsEnabled(false);  String xmlStr = "";  if (json.contains("[") && json.contains("]")) {    // jsonArray    JSONArray jobj = JSONArray.fromObject(json);    xmlStr = xmlSerializer.write(jobj);  } else {    // jsonObject    JSONObject jobj = JSONObject.fromObject(json);    xmlStr = xmlSerializer.write(jobj);  }  System.out.println("转换后的参数:" + xmlStr);  return xmlStr;}

以上这篇java中处理json各种各样的转换方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表