`

JSON Format

    博客分类:
  • JSON
阅读更多
转载http://blog.toright.com/?p=397
JSON Format
JSON為輕量級的資料表示格式,比起 XML 鬆散許多且不需要定義描述檔,JSON網站 http://json.org/

Json-lib API
Json-lib 為在眾多處理 Jsob Format API 中實作功能比較多的一個套件,可由下列網址取得。

http://json-lib.sourceforge.net/ 此外,Json-lib還需要以下 Library

jakarta commons-lang 2.4
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1.1
ezmorph 1.0.6
JSON 與 POJO 轉換實作
設計兩個Model

Java代码 
Model.java  
 
private String title;  
    private int num;  
    private Integer sort;  
    private Date date;  
    private String[] strArray;  
    private SubModel subModel;  
SubModel.java  
 
private String name;  
Marshal 實作  
Object2JSON.java  
 
import java.util.Date;  
 
import net.sf.json.JSONObject;  
 
public class Object2JSON {  
 
    public static void main(String[] args) {  
        //產生Model  
        Model model = new Model();  
        model.setTitle("Master MOdel");  
        model.setNum(99);  
        model.setSort(10);  
        model.setDate(new Date());  
        model.setStrArray(new String[]{"str1","str2"});  
        SubModel subModel = new SubModel();  
        subModel.setName("MySubModel");  
        model.setSubModel(subModel);  
        //轉換為JSON  
        String json = JSONObject.fromObject(model).toString();  
        //顯示XML  
        System.out.println(json);  
    }  
 
}  
Unmarshal 實作  
JSON2Object.java  
 
import net.sf.json.JSONObject;  
 
public class JSON2Object {  
 
    public static void main(String[] args) {  
        String json = "{\"date\":{\"date\":27,\"day\":2,\"hours\":15,\"minutes\":30,\"month\":9,\"seconds\":35,\"time\":1256628635421,\"timezoneOffset\":-480,\"year\":109},\"num\":99,\"sort\":10,\"strArray\":[\"str1\",\"str2\"],\"subModel\":{\"name\":\"MySubModel\"},\"title\":\"Master MOdel\"}";  
        //轉換JavaBean  
        Model model = (Model)JSONObject.toBean( JSONObject.fromObject( json ), Model.class );  
        //顯示內容  
        System.out.println("Title:"+model.getTitle());  
        System.out.println("Num:"+model.getNum());  
        System.out.println("Sort:"+model.getSort());  
        System.out.println("Date:"+model.getDate());  
        System.out.println("SubModel:"+model.getSubModel());  
        System.out.println("SubModel[Name]:"+model.getSubModel().getName());  
    }  
 


Model.java

private String title;
private int num;
private Integer sort;
private Date date;
private String[] strArray;
private SubModel subModel;
SubModel.java

private String name;
Marshal 實作
Object2JSON.java

import java.util.Date;

import net.sf.json.JSONObject;

public class Object2JSON {

public static void main(String[] args) {
//產生Model
Model model = new Model();
model.setTitle("Master MOdel");
model.setNum(99);
model.setSort(10);
model.setDate(new Date());
model.setStrArray(new String[]{"str1","str2"});
SubModel subModel = new SubModel();
subModel.setName("MySubModel");
model.setSubModel(subModel);
//轉換為JSON
String json = JSONObject.fromObject(model).toString();
//顯示XML
System.out.println(json);
}

}
Unmarshal 實作
JSON2Object.java

import net.sf.json.JSONObject;

public class JSON2Object {

public static void main(String[] args) {
String json = "{\"date\":{\"date\":27,\"day\":2,\"hours\":15,\"minutes\":30,\"month\":9,\"seconds\":35,\"time\":1256628635421,\"timezoneOffset\":-480,\"year\":109},\"num\":99,\"sort\":10,\"strArray\":[\"str1\",\"str2\"],\"subModel\":{\"name\":\"MySubModel\"},\"title\":\"Master MOdel\"}";
//轉換JavaBean
Model model = (Model)JSONObject.toBean( JSONObject.fromObject( json ), Model.class );
//顯示內容
System.out.println("Title:"+model.getTitle());
System.out.println("Num:"+model.getNum());
System.out.println("Sort:"+model.getSort());
System.out.println("Date:"+model.getDate());
System.out.println("SubModel:"+model.getSubModel());
System.out.println("SubModel[Name]:"+model.getSubModel().getName());
}

}Json-lib 結論
過測試之後發現 Json 對 Array 是支援的,但是對於 List 與 Hashtable 的 Unmarshal 卻是不支援。假設 Json 未來成為 Web Service 重要的傳輸格式,那麼實作 Json 更高階的 Unmarshal 是絕對必要的工作。
分享到:
评论

相关推荐

    JsonFormat java android

    "JsonFormat"在这里指的是一款本地工具,用于帮助开发者更方便地对JSON数据进行格式化,使其更易读。 在Windows环境下,开发者经常需要处理来自服务器的JSON响应或者在代码中创建JSON字符串。"JsonFormat"这款工具...

    @JsonFormat的使用jackson-annotations

    本文将深入探讨`@JsonFormat`注解的使用,以及它在Jackson库中的作用,特别是与`jackson-annotations.jar`、`jackson-core.jar`和`jackson-databind.jar`这三个核心组件的关系。 首先,让我们了解Jackson的基本构成...

    JsonFormat.js(editplus格式化 json插件)

    editplus格式化 json插件 使用:自定义工具 》命令 》Cscript.exe /nologo "D:\JsonFormat.js" 注意地址需要用引号

    JsonFormat.zip

    JSONFormat.zip这个压缩包提供了一个JSON解析工具,帮助用户更方便地处理和理解JSON格式的数据。 JSON的基本数据类型包括字符串(String)、数字(Number)、布尔值(Boolean)、数组(Array)、对象(Object)和...

    win 10 环境下Json format 字符串本地格式化工具

    这个工具,JsonFormat.exe,是一个专门为Windows 10设计的应用程序,其主要功能是将未格式化的JSON字符串转化为整洁、易读的格式。通过这个工具,你可以轻松地检查和理解JSON数据的结构,而无需手动去解析和整理。它...

    JsonFormat格式化工具

    JsonFormat格式化工具,优化调整格式视图,好用速来,

    JSON解析 JsonFormat

    日常开发中,使用JSON格式的数据情景很多。一开始使用网页的小工具,但用的多了,还是想有一个小工具,能直接快速打开。 支持解析文件 支持解析纯文本,并统计出行列,字符数。提供格式化JSON。 支持搜索,搜索...

    jpush.dll 修改了should be JSON format的bug

    这是之前在网上下载的一个dll, 在使用的时候 传入extras的参数时,正确的json格式会报 should be JSON format的错误, 后面自己反编译之后, 修改了一下, 现在在传参时, title, content 均为string即可, extras...

    JSONFormat.exe

    基于Java Swing的json字符串格式化工具,敏捷,高效,即时即用 基于Java Swing的json字符串格式化工具,敏捷,高效,即时即用

    Json.Prettify.rar_JSON_conditionwrz_json format

    在"Json.Prettify.rar_JSON_conditionwrz_json format"这个压缩包中,我们主要关注的是JSON的格式化和条件处理。 首先,JSON的基本结构包括对象和数组。对象是以花括号 `{}` 包围的键值对集合,键用双引号引用,...

    JSONFormat-master.zip

    JSONFormat-master.zip是一个压缩包,包含了用于JSON格式化的工具,特别强调了其绿色无污染的特点,意味着它无需安装,解压后即可直接运行。这个工具主要用于美化和整理JSON字符串,使得数据更易于阅读和理解。它...

    JsonFormat.rar

    "JsonFormat.rar"这个压缩包显然包含了处理JSON格式的工具——JsonFormat.exe。这可能是一个命令行工具或图形用户界面应用,用于帮助开发者和程序员解析、格式化、验证或转换JSON数据。在处理复杂的API调用、数据...

    JsonFormat.exe

    JSON格式转换软件适用于json格式转换和字符串长度的各项统计

    EchaetJSON地图切分教程、含JSONFormat工具和省市地图数据.rar

    在本教程中,我们将深入探讨如何使用Echarts与JSON数据进行地图切分,以及如何利用提供的JSONFormat工具处理省市地图数据。Echarts是一款强大的、基于JavaScript的数据可视化库,广泛应用于网页图表的绘制,包括地图...

    jsonformat.exe

    json离线解析格式化工具:当没有网络的时候,可以使用该工具实现json解析格式化。基于Python语言写的。

    JsonFormat与@DateTimeFormat注解实例解析

    `JsonFormat` 和 `@DateTimeFormat` 这两个注解分别来自于Jackson库和Spring框架,它们都用于处理日期时间的格式化,但应用场景略有不同。 ## 1. `@JsonFormat` 注解 `@JsonFormat` 是Jackson库中的注解,主要用于...

    Java对象转json JsonFormat注解

    Java对象转JSON的过程中,`JsonFormat`注解是Jackson库提供的一种用于格式化日期和其他特定类型数据的工具。这个注解允许我们在序列化(对象转JSON)和反序列化(JSON转对象)时指定特定的格式。在上述例子中,我们...

    Notepad ++ 离线安装JsonFormat插件:NPPJSONViewer.zip

    Notepad ++ 离线安装JsonFormat插件,安装方法:打开Notepad++, 点击菜单栏“插件”,下拉点击“打开插件文件夹...”,把NPPJSONViewer.zip复制到打开窗口,解压,重启Notepad++就OK了。

    @DateTimeFormat 和 @JsonFormat 注解.txt

    入参与出参日期解析

Global site tag (gtag.js) - Google Analytics