zoukankan      html  css  js  c++  java
  • [Json]jsonlib简单处理java对象变为json对象

    由于js对json的原生支持,所以现在很多项目的数据传输都喜欢用json。 怎么样把数据从java对象转化为json对象,有怎么把前台的json对象转化成java对象去处理?

    这是开发中常要解决的问题。

    json-lib是sourceforge的一个开源项目,常用来解决java json数据转换的问题。

    下载地址是 http://sourceforge.net/projects/json-lib/

    但是还需要一些依赖包才可以正常使用

    commons-beanutils-1.8.0.jar

    commons-collections-3.1.jar

    commons-logging-1.1.1.jar

    commons-logging-api-1.1.jar

    ezmorph-1.0.6.jar

    commons-lang-2.4.jar  !!用3.x的jar无法运行的

    这里是这些包的下载地址


    由于官网的doc总是打不开 于是就看了下别人的blog 

    这里是java -》json 转化的几个小案例

    Person.java  javabean模型

    package com.lzz.json;
    
    public class Person {
    	private int id;
    	private String name;
    	private String addr;
    	
    	public Person(){ }
    	
    	public Person(int id, String name, String addr) {
    		super();
    		this.id = id;
    		this.name = name;
    		this.addr = addr;
    	}
    
    	public int getId() {
    		return id;
    	}
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public String getAddr() {
    		return addr;
    	}
    
    	public void setAddr(String addr) {
    		this.addr = addr;
    	}
    }
    


    这里是几个操作的案例

    SimpleJavaToJson.java

    package com.lzz.json;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    /**ref http://ryxxlong.iteye.com/blog/583862
     *json 支持原生的js 
     *使用eval 可以直接变为js对象	
     *JSON Java  
     *string <=> java.lang.String, java.lang.Character, char 
     *number <=> java.lang.Number, byte, short, int, long, float, double 
     *true|false <=> java.lang.Boolean, boolean 
     *null <=> null 
     *function <=> net.sf.json.JSONFunction 
     *array <=> net.sf.json.JSONArray (object, string, number, boolean, function) 
     *object <=> net.sf.json.JSONObject 
    */
    
    public class SimpleJavaToJson {
    	public static void main(String[] args) {
    		/*集合类型的从java 编程json对象*/
    		//arrayJson();
    		//listJson();
    		//stringJson();
    		
    		/*map类型的处理*/
    		mapJson();
    		
    		/*javabean的处理*/
    		beanJson();
    	}
    	
    	//数组处理
    	public static void arrayJson(){
    		String arr[] ={"lzz","12","ee"} ;
    		JSONArray jarr = JSONArray.fromObject(arr);
    		System.out.println(jarr);
    	}
    	
    	//List处理
    	public static void listJson(){
    		List<String> list = new ArrayList<String>();
    		list.add("apple");
    		list.add("orange");
    		list.add("money");
    		JSONArray jlist = JSONArray.fromObject(list);
    		System.out.println(jlist);
    	}
    	
    	//字符串 形式 这里的字符串一定要符合json 集合的格式
    	public static void stringJson(){
    		String str = "['a','b','c',{d:'aa'}]";
    		JSONArray jarr = JSONArray.fromObject(str);
    		System.out.println(jarr);
    	}
    	
    	//将map类型转化为json格式,生成的json对象也是没有顺序的
    	public static void mapJson(){
    		Map map = new HashMap();
    		map.put("name", "apple");
    		map.put("age", new Integer(20));
    		map.put("haoren",Boolean.TRUE);
    		map.put("arr", new String[]{"a","b","c"});
    		JSONObject jobj = JSONObject.fromObject(map);
    		System.out.println(jobj);
    	}
    		
    	//javabean 的json转化
    	public static void beanJson(){
    		Person p = new Person(101, "apple", "China");
    		JSONObject jobj = JSONObject.fromObject(p);
    		System.out.println(jobj);
    	}
    		
    }
    


  • 相关阅读:
    HOJ 2139 Spiderman's workout(动态规划)
    FZU 2107 Hua Rong Dao(dfs)
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 无向连通图最少包含多少条边
    Java 第十一届 蓝桥杯 省模拟赛 无向连通图最少包含多少条边
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3120027.html
Copyright © 2011-2022 走看看