欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-25 23:27:09
json 即 javascript object natation,它是一种轻量级的数据交换格式,非常适合于服务器与 javascript 的交互。本文将快速讲解 json...

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各种各样的转换方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。