转载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"在这里指的是一款本地工具,用于帮助开发者更方便地对JSON数据进行格式化,使其更易读。 在Windows环境下,开发者经常需要处理来自服务器的JSON响应或者在代码中创建JSON字符串。"JsonFormat"这款工具...
本文将深入探讨`@JsonFormat`注解的使用,以及它在Jackson库中的作用,特别是与`jackson-annotations.jar`、`jackson-core.jar`和`jackson-databind.jar`这三个核心组件的关系。 首先,让我们了解Jackson的基本构成...
editplus格式化 json插件 使用:自定义工具 》命令 》Cscript.exe /nologo "D:\JsonFormat.js" 注意地址需要用引号
JSONFormat.zip这个压缩包提供了一个JSON解析工具,帮助用户更方便地处理和理解JSON格式的数据。 JSON的基本数据类型包括字符串(String)、数字(Number)、布尔值(Boolean)、数组(Array)、对象(Object)和...
这个工具,JsonFormat.exe,是一个专门为Windows 10设计的应用程序,其主要功能是将未格式化的JSON字符串转化为整洁、易读的格式。通过这个工具,你可以轻松地检查和理解JSON数据的结构,而无需手动去解析和整理。它...
JsonFormat格式化工具,优化调整格式视图,好用速来,
日常开发中,使用JSON格式的数据情景很多。一开始使用网页的小工具,但用的多了,还是想有一个小工具,能直接快速打开。 支持解析文件 支持解析纯文本,并统计出行列,字符数。提供格式化JSON。 支持搜索,搜索...
这是之前在网上下载的一个dll, 在使用的时候 传入extras的参数时,正确的json格式会报 should be JSON format的错误, 后面自己反编译之后, 修改了一下, 现在在传参时, title, content 均为string即可, extras...
基于Java Swing的json字符串格式化工具,敏捷,高效,即时即用 基于Java Swing的json字符串格式化工具,敏捷,高效,即时即用
在"Json.Prettify.rar_JSON_conditionwrz_json format"这个压缩包中,我们主要关注的是JSON的格式化和条件处理。 首先,JSON的基本结构包括对象和数组。对象是以花括号 `{}` 包围的键值对集合,键用双引号引用,...
JSONFormat-master.zip是一个压缩包,包含了用于JSON格式化的工具,特别强调了其绿色无污染的特点,意味着它无需安装,解压后即可直接运行。这个工具主要用于美化和整理JSON字符串,使得数据更易于阅读和理解。它...
"JsonFormat.rar"这个压缩包显然包含了处理JSON格式的工具——JsonFormat.exe。这可能是一个命令行工具或图形用户界面应用,用于帮助开发者和程序员解析、格式化、验证或转换JSON数据。在处理复杂的API调用、数据...
JSON格式转换软件适用于json格式转换和字符串长度的各项统计
在本教程中,我们将深入探讨如何使用Echarts与JSON数据进行地图切分,以及如何利用提供的JSONFormat工具处理省市地图数据。Echarts是一款强大的、基于JavaScript的数据可视化库,广泛应用于网页图表的绘制,包括地图...
json离线解析格式化工具:当没有网络的时候,可以使用该工具实现json解析格式化。基于Python语言写的。
`JsonFormat` 和 `@DateTimeFormat` 这两个注解分别来自于Jackson库和Spring框架,它们都用于处理日期时间的格式化,但应用场景略有不同。 ## 1. `@JsonFormat` 注解 `@JsonFormat` 是Jackson库中的注解,主要用于...
Java对象转JSON的过程中,`JsonFormat`注解是Jackson库提供的一种用于格式化日期和其他特定类型数据的工具。这个注解允许我们在序列化(对象转JSON)和反序列化(JSON转对象)时指定特定的格式。在上述例子中,我们...
Notepad ++ 离线安装JsonFormat插件,安装方法:打开Notepad++, 点击菜单栏“插件”,下拉点击“打开插件文件夹...”,把NPPJSONViewer.zip复制到打开窗口,解压,重启Notepad++就OK了。
入参与出参日期解析