Java中Json数据的测试代码

JSON是一种很简洁很重要的数据格式,通常用来交换传输数据,广泛使用于JavaScript技术中,并逐渐在各种流行编程语言中火了起来。在Java中也有一个JSON的库,用来重要作用就是Java对象与JSON、XML数据的相互转换,有着重要的应用。

  开源的JSON库主页:http://json-lib.sourceforge.net/

  环境:JDK5 , json-lib-2.3-jdk15

  所依赖的包:json-lib-2.3-jdk15.jar,commons-collections.jar,commons- lang.jar,commons-logging.jar,commons-beanutils.jar,ezmorph-1.0.6.jar,xom-1.1.jar

  java中各种类型所对应的json格式:

  1.数组或集合-->JSON串

 

 代码如下 复制代码

 public static void test1() {

  System.out.println("------------数组或集合-->JSON串----------");

  boolean[] boolArray = new boolean[]{true, false, true};

  JSONArray jsonArray1 = JSONArray.fromObject(boolArray);

  System.out.println(jsonArray1);

  //输出格式: [true,false,true]

  List list = new ArrayList();

  list.add("first");

  list.add("second");

  JSONArray jsonArray2 = JSONArray.fromObject(list);

  System.out.println(jsonArray2);

  //输出格式: ["first","second"]

  JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']");

  System.out.println(jsonArray3);

  //输出格式: ["json","is","easy"]

  }

  2.Object|Map-->JSON串

  

 代码如下 复制代码

public static void test2() {

  System.out.println("------------Object|Map-->JSON串----------");

  Map map = new HashMap();

  map.put("name", "json");

  map.put("bool", Boolean.TRUE);

  map.put("int", new Integer(1));

  map.put("arr", new String[]{"a", "b"});

  map.put("func", "function(i){ return this.arr[i]; }");

  JSONObject jsonObject1 = JSONObject.fromObject(map);

  System.out.println(jsonObject1);

  //输出格式: {"func":function(i){ return this.arr[i]; },"arr":["a","b"],"int":1,"bool":true,"name":"json"}

  JSONObject jsonObject2 = JSONObject.fromObject(new MyBean());

  System.out.println(jsonObject2);

  //输出格式: {"func1":function(i){ return this.options[i]; },"func2":function(i){ return this.options[i]; },"name":"json","options":["a","f"],"pojoId":1}

  }

  public class MyBean {

  private String name = "json";

  private int pojoId = 1;

  private char[] options = new char[]{'a', 'f'};

  private String func1 = "function(i){ return this.options[i]; }";

  private JSONFunction func2 = new JSONFunction(new String[]{"i"}, "return this.options[i];");

  public String getName() {

  return name;

  }

  public void setName(String name) {

  this.name = name;

  }

  public int getPojoId() {

  return pojoId;

  }

  public void setPojoId(int pojoId) {

  this.pojoId = pojoId;

  }

  public char[] getOptions() {

  return options;

  }

  public void setOptions(char[] options) {

  this.options = options;

  }

  public String getFunc1() {

  return func1;

  }

  public void setFunc1(String func1) {

  this.func1 = func1;

  }

  public JSONFunction getFunc2() {

  return func2;

  }

  public void setFunc2(JSONFunction func2) {

  this.func2 = func2;

  }

  }

3.JSON串-->Object

 代码如下 复制代码

  public static void test3() {

  System.out.println("------------JSON串-->Object----------");

  String json1 = "{name="json",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";

  JSONObject jsonObject1 = JSONObject.fromObject(json1);

  Object bean1 = JSONObject.toBean(jsonObject1);

  System.out.println(bean1);

  //net.sf.ezmorph.bean.MorphDynaBean@10dd1f7[

  //    {double=2.2, func=function(a){ return a; }, int=1, name=json, bool=true, array=[1, 2]}

  //]

  String json2 = "{bool:true,integer:1,string:"json"}";

  JSONObject jsonObject2 = JSONObject.fromObject(json2);

  BeanA bean2 = (BeanA) JSONObject.toBean(jsonObject2, BeanA.class);

  System.out.println(bean2);

  // BeanA{bool=true, integer=1, string='json'}

  }

  public class BeanA {

  private boolean bool;

  private Integer integer;

  private String string;

  public boolean isBool() {

  return bool;

  }

  public void setBool(boolean bool) {

  this.bool = bool;

  }

  public Integer getInteger() {

  return integer;

  }

  public void setInteger(Integer integer) {

  this.integer = integer;

  }

  public String getString() {

  return string;

 

时间: 2024-09-28 15:27:15

Java中Json数据的测试代码的相关文章

java传递json数据和文件如何在一个请求中完成

问题描述 java传递json数据和文件如何在一个请求中完成 因为是接口的原因,需要json数据来表示一些键值关系,然后接口还需要上传一个音频文件.怎么能在同一次HTTP请求中完成这两种数据传输呢.或者说怎么让两者共存呢,如果把文件转成字符串然后加如json数据中,json数据会变的很大.比原本文件的长度要长的多几乎是两倍 解决方案 可以使用FormData进行传递,具体方法自己查一下. 解决方案二: 我也想过用formData那样非常方便,但是架构师已经把接口数据定义好了.我的意见不可能被接受

JS中Json数据的处理和解析JSON数据的方法详解_javascript技巧

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). JSON的规则很简单: 对象是一个无序的"'名称/值'对"集合.一个对象以&quo

JavaScript+java解析json数据详细实例教程

关于json的概念及优势,我们已经讲过很多次了,不懂的同学可以搜索一下,本文我们主要讲JavaScript如何处理解析JSON数据. 举个简单的例子: js 代码 function showJSON() {        var user =        {        "username":"andy",        "age":20,        "info": { "tel": "1

Java中JSON字符串与java对象的互换实例详解_java

在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串 [

Android中Json数据读取与创建的方法

首先介绍下JSON的定义,JSON是JavaScript Object Notation的缩写. 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list. Hash table.Disctiona

Java中的数据是怎么存储的?

问题描述 java中的数据有哪些存储方式,能详细介绍下么? 解决方案 在JAVA中,有六个不同的地方可以存储数据:1. 寄存器(register).这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部.但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配.你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象.2. 堆栈(stack).位于通用RAM中,但通过它的"堆栈指针"可以从处理器哪里获得支持.堆栈指针若向下移动,则分配新的内存:若向上移动,则释放那些内存.

Java中Json字符串直接转换为对象的方法(包括多层List集合)_java

使用到的类:net.sf.json.JSONObject  使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar 下面是例子代码: // JSON转换 JSONObject jsonObj = JSONObject.fromObject(jsonSt

java中json对象是如何创建或者转换出来的

问题描述 java中json对象是如何创建或者转换出来的 可以像类的对象那样子new出来吗,类的对象和json对象有何区别和联系,不好意思在csdn高手云集的地方问这么新手的问题 解决方案 是从java对象转换过去的.看这里http://blog.csdn.net/evankaka/article/details/46741577 解决方案二: java中各种对象转换为JSONJSON对象数组到Java的转换Google-gson, 将JSON 转换为 Java 对象或者将Java对象转换成JS

jQuery ajax json 数据的遍历代码_AJAX相关

先给大家说下我的需求:进行ajax请求后,后台传递回来以下json数据. 具体实现代码如下所示: JavaScript代码 { "data":[ {"id":"1","name":"选择A","value":"A"}, {"id":"2","name":"选择B","value&