`
edison87915
  • 浏览: 199400 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JSON LIB 简

    博客分类:
  • JAVA
 
阅读更多

JSON LIB依赖的JAR包在附件,以下是小练习:

package json;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
 * 两种核心JSON格式:对象格式和数组格式[List只能转成JSONArray而不能转为JSONObject]
 * JSONObject------{xx:xx,yy:yy}
 * JSONArray-------[{xx:xx,yy:yy},..]
 * @author edison.seven
 */
public class Boot {
    
    private static Student student = null;
    private static Group group = null;
    
    public static void main(String[] args) throws Exception{
        
        Boot boot = new Boot();
        //step1:object===>jsonObject
//        boot.object2json();
        //step2:list=====>jsonArray
//        boot.list2json();
        //step3:map======>jsonArray
//        boot.map2json();
        //step4:string===>jsonObject
//        boot.str2jsonObject();
        //step5:string===>jsonArray
//        boot.str2jsonArray();
        //step6:json=====>object
//        boot.json2object();
        //step7:json=====>list
//        boot.json2list();
        //step8:json=====>map
        boot.json2map();
    }
    /**
     * object2jsonObject
     * JSONObject.fromObject(bean)---Object===>JSONObject
     * fromObject将Java对象转换成json字符串,toBean将json对象转换成Java对象
     */
    public void object2json(){
        //JavaObject==>JsonObject   所转换的属性-依赖于属性是否有getXX方法
        log(JSONObject.fromObject(student));
        //JavaObject===>JsonArray
        log(JSONArray.fromObject(student));
    }
    
    public void list2json() throws CloneNotSupportedException{
        
        List studentlist = new ArrayList();
                  //因只看转换效果,此处用clone,以免创建多个实例
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        //list==>JsonArray
        log(JSONArray.fromObject(studentlist));
    }
    public void map2json() throws CloneNotSupportedException{
        
        Map studentMap = new LinkedHashMap();
        studentMap.put("s1",student.clone());
        studentMap.put("s2",student.clone());
        studentMap.put("s3",student.clone());
        studentMap.put("s4",student.clone());
        //list==>JsonArray
        log(JSONArray.fromObject(studentMap));
        //map===>JsonObject
        log(JSONObject.fromObject(studentMap));
    }
    //String=====>jsonObject
    public void str2jsonObject(){
        String jsonStr = JSONObject.fromObject(student).toString();
        log(JSONObject.fromObject(jsonStr));
    }
    //String=====>jsonArray
    public void str2jsonArray() throws Exception{
        
        List studentlist = new ArrayList();
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        String jsonStr = JSONArray.fromObject(studentlist).toString();
        
        log(JSONArray.fromObject(jsonStr));
    }
    
    public void json2object(){
        
        String jsonStr = JSONObject.fromObject(student).toString();
        //string====>JsonObject
        Student s = (Student)JSONObject.toBean(JSONObject.fromObject(jsonStr), Student.class);
        log(s);
    }
    
    public void json2list() throws Exception{
        
        List studentlist = new ArrayList();
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        studentlist.add(student.clone());
        String jsonStr = JSONArray.fromObject(studentlist).toString();
        //string====>JsonArray
        JSONArray jsonArray = JSONArray.fromObject(jsonStr);
        //JsonArray===>Collection
        Collection c = JSONArray.toCollection(jsonArray, Student.class);
        //转为JavaObject
        for(Object o : c){
            log(((Student)o).toString());
        }
//        //#####################################################################
        div();
        //或JsonArray===>Student[]
        Student[] ss = (Student[])JSONArray.toArray(jsonArray,Student.class);
        //Student[]===>list
        List list = Arrays.asList(ss);
        for(Object o : list){
            log(o.getClass().getName() + "!!!!!" + o.toString());
        }
    }
    
    public void json2map() throws Exception{
        
        Map studentMap = new LinkedHashMap();
        studentMap.put("s1",student.clone());
        studentMap.put("s2",student.clone());
        studentMap.put("s3",student.clone());
        studentMap.put("s4",student.clone());
        //map===>string
        String json = JSONObject.fromObject(studentMap).toString();
        //string===>JSONObject
        JSONObject jsonObject = JSONObject.fromObject(json);
        
        //定义(KEY指定的)VALUE-class映射
        Map clazzMapping = new HashMap();
        //映射-可用正则表达式--此处表示JSON中所有的对象都以student类型转存至Map中
        clazzMapping.put(".*", Student.class);
        //params:JsonObject对象|转存为Bean的类型|Map中各对象值的类型映射
        Map map = (Map)JSONObject.toBean(jsonObject, LinkedHashMap.class,clazzMapping);
        
        Set set = map.keySet();
        for(Object obj : set){
            log(((Student)map.get(obj)).toString());
        }
    }
    //////////////////////////////////////////////////////////////////////////////////////////
    public Boot(){
        student = new Student();
        student.setId("1");
        student.setName("xiaoming");
        student.setGender("male");
        student.setAge("100");
        
        group = new Group();
        group.setGroupID("11");
        group.setGroupName("一班");
        
        student.setGroup(group);
    }
    public void log(Object o){
        System.out.println("========>" + o);
    }
    public void div(){
        System.out.println("#################################################");
    }
}

 

  • domain.rar (692 Bytes)
  • 描述: Group和Student类
  • 下载次数: 6
分享到:
评论

相关推荐

    JSONlib.rar

    JSONlib是一个Java库,专门设计用于处理JSON(JavaScript Object Notation)数据格式。JSON作为一种轻量级的数据交换格式,被广泛应用于Web服务和客户端应用程序之间的数据传输,因为它的语法简单,易于阅读和编写,...

    jsonlib的所有包

    这个压缩包“jsonlib”很可能包含了Jsonlib库的所有相关组件和文件。 Jsonlib的主要功能包括: 1. **JSON对象的创建**:Jsonlib允许开发者通过简单的API创建JSON对象。例如,你可以创建一个JSON对象并添加键值对,...

    json-lib-2.4-jdk15.jar下载

    json-lib-2.4-jdk15.jar下载,json-lib是一款简单易用的Java JSON库。它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 ...

    使用jsonlib需要的jar包

    在Java中,为了处理JSON数据,我们可以利用各种库,其中之一就是JsonLib。JsonLib是一个用Java编写的开源库,它提供了一系列API来方便地解析、生成和操作JSON数据。 JsonLib支持多种数据类型与JSON的转换,包括基本...

    Gson和Jsonlib需要的jar包

    本篇文章将详细介绍两个流行的Java JSON解析库:Gson和Jsonlib。 ### Gson库 Gson是Google提供的一款强大的JSON库,它可以直接将Java对象转换为JSON字符串,也可以将JSON数据反序列化为Java对象。Gson的优点在于其...

    json-lib.jar

    总的来说,`json-lib.jar`是一个强大的JSON处理工具,为Java开发者提供了一种简单的方式来处理JSON数据,广泛应用于各种需要数据交换的Java应用程序中。通过理解和熟练使用这个库,开发者可以提高其项目的数据处理...

    json-lib-2.3-jdk15基础jar包合辑

    JSON库如json-lib是Java开发中处理JSON数据的重要工具。`json-lib-2.3-jdk15`是JSON库的一个特定版本,专为JDK 1.5设计,以确保与该版本的Java环境兼容。 ### JSON Lib简介 JSON Lib是一个Java库,它提供了将Java...

    json-lib应用所有jar

    JSON-lib是Java平台上的一个库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及从JSON字符串恢复Java对象。这个库在处理JSON数据时非常实用,特别是对于那些需要在服务器端和客户端之间进行数据...

    jsonlib.jar

    Jsonlib是一个Java库,专门设计用于处理JSON格式数据,它提供了一套全面的API,使得在Java应用程序中生成和解析JSON变得非常简单。 Jsonlib的主要功能包括: 1. **JSON对象创建**:Jsonlib允许开发者通过Java对象...

    服务器端 json lib包

    "服务器端 json lib包"即是指用于服务器端处理JSON数据的库或框架。 在Java开发环境中,一个常见的JSON库是`json-lib`。这个库提供了多种数据结构(如Map、List、Java Beans等)与JSON对象之间的转换功能,使得...

    jsonLib支持库

    在Java开发中,jsonLib是一个广泛使用的JSON处理库,它提供了丰富的API来帮助开发者进行JSON的序列化和反序列化操作。这篇博文主要探讨jsonLib支持库在Java开发中的应用和关键功能。 首先,jsonLib作为一个开源工具...

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...

    Java四大json库gson+fastjson+jackson+json-lib

    为了方便地处理JSON数据,Java社区提供了多个优秀的JSON库,包括Gson、Fastjson、Jackson和json-lib。这四大JSON库各有特点,适应不同的使用场景。 1. Gson: Gson是Google提供的一个开源库,它能够将Java对象转换...

    使用json-lib实现json与Java对象的互转

    `json-lib` 是一个 Java 库,它提供了将 JSON 格式的数据转换为 Java 对象,以及将 Java 对象转换为 JSON 格式数据的功能。在 Java 开发中,`json-lib` 是一个常用的 JSON 处理工具,尤其适用于需要处理复杂 JSON ...

    JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包

    JSON-lib是一个Java库,用于将Java对象转换为JSON(JavaScript Object Notation)格式,以及将JSON数据转换回Java对象。这个库提供了多种方法来处理JSON数据,使得在Java应用程序中与JSON交互变得更加简单。JSON是一...

    json lib 最新版

    "json lib 最新版" 提供的就是一个Java开发的JSON工具类,它能够帮助开发者更高效地在Java项目中解析、生成和操作JSON数据。 该库被设计为可以轻松集成到Eclipse的lib目录下,这意味着它可以作为项目的外部依赖,...

    json-lib-2.2.3-jdk15.jar

    JSON-lib是一个Java库,它提供了将Java对象转换为JSON表示以及从JSON文本反序列化回Java对象的功能。该库名为`json-lib-2.2.3-jdk15.jar`,特别针对Java 1.5版本进行了优化。 JSON-lib的主要特点和功能包括: 1. *...

    json-lib所用的jar包

    `json-lib`是一个Java库,它提供了一种将Java对象转换为JSON格式,以及将JSON数据还原为Java对象的能力。在Web开发中,这个功能非常重要,因为服务器端处理的数据需要以某种形式传递到客户端,JSON由于其简洁性和...

    json-lib-2.4和相应的依赖包

    JSON库如json-lib-2.4是Java开发者在处理JSON数据时的重要工具,它提供了一系列API,使得JSON与Java对象之间的转换变得更加简单。本文将深入探讨json-lib-2.4及其在Java开发中的应用。 首先,json-lib-2.4是一个...

Global site tag (gtag.js) - Google Analytics