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

(0)

相关推荐

  • 浅谈使用java解析和生成JSON

    JSON概述 JSON即javascript object notation,是javascript对象表示法的子集.具有以下特点: 数据放在键值对中: 数据由逗号分隔: 花括号表示对象: 方括号表示数组. JSON的值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true或false) 数组(方括号内) 对象(花括号内) null JSON的基本语法 JSON对象 JSON对象在花括号中书写,对象可以包含多个键值对,例如: { "firstName":"Jo

  • 基于java解析JSON的三种方式详解

    本文实例分析了基于java解析JSON的三种方式.分享给大家供大家参考,具体如下: 一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串.数字.也可以是另一个数组或对象) 所以 {"name"

  • java生成json数据示例

    JsonTools.java 复制代码 代码如下: package com.lihua.json.tools; import net.sf.json.JSONObject; public class JsonTools { public JsonTools() { } /**   * @param key   *            表示json字符串的头信息   * @param value   *            是对解析的集合的类型   * @return   */  //将数据转

  • java中实体类和JSON对象之间相互转化

    在需要用到JSON对象封装数据的时候,往往会写很多代码,也有很多复制粘贴,为了用POJO的思想我们可以装JSON转化为实体对象进行操作 package myUtil; import java.io.IOException; import myProject.Student; import myProject.StudentList; import org.codehaus.jackson.map.ObjectMapper; import org.json.JSONArray; import or

  • JAVA中使用JSON进行数据传递示例

    最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作. 其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JSON字符串来传递数据并在WEB前端或者Android客户端使用JSON来解析接收到的数据. 首先,在JAVA中使用JSON需要引入 org.json 包, 并在程序中引入相应的JSON类: import org.json.JSONArray; import org.json.JSONExceptio

  • java中处理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.

  • 在js与java中判断json数据中是否含有某字段的案例

    js中 从服务端传过来一个json数据为data 1.data["key"] != undefined //这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了 2.!("data" in obj) 3.data.hasOwnProperty("key") //后面两种推荐使用 java程序中判断是否存在 data 为从浏览器传回来的json数据 当读取数据的时候最好先加一个判断,不然如果里面不含有该数据

  • 基于Java中的StringTokenizer类详解(推荐)

    StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象.java默认的分隔符是"空格"."制表符('\t')"."换行符('\n')"."回车符('\r')". StringTokenizer(String str,String delim)

  • java中数组的相关知识小结(推荐)

    1. 2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages; ages=new int[5]; 3)int[]ags={1,2,3,4,5}; 4)int[]ags; ags=new int{1,2,3,4}; 或者 int[]ags=new int{1,2,3,4}; 3.java不支持不同类型的重名数组 4.java中数组的循环赋值 package dierge; public class Shuzu { public static void main

  • java中的通用权限管理设计(推荐)

    实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个"非法用户"很可能就能通过浏览器轻易访问到B/S系统中的所有功能.因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的"非法用户"将会将他

  • java中获取json的所有key方法

    工作笔记(在不知道json的key时如何获取当前json的keys) String json="{'name':'angui','age':'23','like':'吃水果'}"; JSONObject j = JSON.parseObject(json); j.remove("age"); System.out.println(json.toString()); System.out.println(j.toJSONString()); //将json转换为key

  • Golang 中的json.Marshal问题总结(推荐)

    目录 1.Quiz 2.Answer 3.Resolving Conclusion 1.Quiz 有如下一个例子: package main import ( "encoding/json" "fmt" "time" ) type RecordBrief struct { time.Time ID int } func main() { r := RecordBrief{ Time: time.Now(), ID: 6, } m, _ := js

  • Java中使用json与前台Ajax数据交互的方法

    本文主要为大家分享了Ajax获取显示Json数据的一种方法,供大家参考,具体内容如下   1.首先前台用Ajax,其中注意dataType一定要选择json方式,Action成功返回给页面的Json内容是这样的[{"number":"V006","names":"LiLei"}],可见comment['names']对应"names":"LiLei",comment['number']对

  • Java中json使用方法_动力节点Java学院整理

    摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率). 一.准备工作  json是个非常重要的数据结构,在web开发中应用十分广泛.我觉得每个人都应该好好

随机推荐