茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729600 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00044.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

爪哇咖啡屋 : [轉貼]Fastjson API 中文版

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]Fastjson API 中文版

Fastjson API中文版

由  路飛 創建, 最後一次修改  2016-12-11

Fastjson API中文版

JSON這個類是fastjson API的入口,主要的功能都通過這個類提供。

序列化API


package com.alibaba.fastjson;
public abstract class JSON {
// 將Java對像序列化為JSON字符串,支持各種各種Java基本類型和JavaBean
public static String toJSONString(Object object, SerializerFeature... features);
// 將Java對像序列化為JSON字符串,返回JSON字符串的utf-8 bytes
public static byte[] toJSONBytes(Object object, SerializerFeature... features);
// 將Java對像序列化為JSON字符串,寫入到Writer中
public static void writeJSONString(Writer writer,
Object object,
SerializerFeature... features);
// 將Java對像序列化為JSON字符串,按UTF-8編碼寫入到OutputStream中
public static final int writeJSONString(OutputStream os, //
Object object, //
SerializerFeature... features);
}

JSON字符串反序列化API


package com.alibaba.fastjson;
public abstract class JSON {
// 將JSON字符串反序列化為JavaBean
public static <T> T parseObject(String jsonStr,
Class<T> clazz,
Feature... features);
// 將JSON字符串反序列化為JavaBean
public static <T> T parseObject(byte[] jsonBytes, // UTF-8格式的JSON字符串
Class<T> clazz,
Feature... features);
// 將JSON字符串反序列化為泛型類型的JavaBean
public static <T> T parseObject(String text,
TypeReference<T> type,
Feature... features);
// 將JSON字符串反序列為JSONObject
public static JSONObject parseObject(String text);
}

Demo

parse Tree


import com.alibaba.fastjson.*;
JSONObject jsonObj = JSON.parseObject(jsonStr);

parse POJO


import com.alibaba.fastjson.JSON;
Model model = JSON.parseObject(jsonStr, Model.class);

parse POJO Generic


import com.alibaba.fastjson.JSON;
Type type = new TypeReference<List<Model>>() {}.getType();
List<Model> list = JSON.parseObject(jsonStr, type);

convert POJO to json string


import com.alibaba.fastjson.JSON;
Model model = ...;
String jsonStr = JSON.toJSONString(model);

convert POJO to json bytes


import com.alibaba.fastjson.JSON;
Model model = ...;
byte[] jsonBytes = JSON.toJSONBytes(model);

write POJO as json string to OutputStream


import com.alibaba.fastjson.JSON;
Model model = ...;
OutputStream os;
JSON.writeJSONString(os, model);

write POJO as json string to Writer


import com.alibaba.fastjson.JSON;
Model model = ...;
Writer writer = ...;
JSON.writeJSONString(writer, model);


原文出處:Fastjson API中文版_w3cschool
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]fastJson API

fastJson API

2015年09月23日 20:43:08
FastJSON是一個很好的java開源json工具類庫,相比其他同類的json類庫,它的速度的確是fast,最快!但是文檔做得不好,在應用前不得不親測一些功能。
實際上其他的json處理工具都和它差不多,api也有幾分相似。

一、JSON規範
JSON是一個標準規範,用於數據交互,規範的中文文檔如下:
參看規範,來對比JSON類庫處理結果。
二、fastjson的一些簡要說明
1、瞭解fastjson
Fastjson介紹
Fastjson是一個Java語言編寫的JSON處理器。
1、遵循
http://json.org標準,為其官方網站收錄的參考實現之一。
2、功能qiang打,支持JDK的各種類型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
3、無依賴,不需要例外額外的jar,能夠直接跑在JDK上。
4、開源,使用Apache License 2.0協議開源。 http://code.alibabatech.com/wiki/display/FastJSON/Home
2、主要的使用入口

Fastjson API入口類是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON類上的靜態方法直接完成。
public static finalObject parse(String text); // 把JSON文本parse為JSONObject或者JSONArray
public static final
JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final
<T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse為JavaBean
public static final
JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final
<T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final
String toJSONString(Object object); // 將JavaBean序列化為JSON文本
public static final
String toJSONString(Object object, booleanprettyFormat); // 將JavaBean序列化為帶格式的JSON文本
public static final
Object toJSON(Object javaObject); 將JavaBean轉換為JSONObject或者JSONArray。
3、有關類庫的一些說明
SerializeWriter:相當於StringBuffer
JSONArray:相當於List<Object>
JSONObject:相當於Map<String, Object>
JSON反序列化沒有真正數組,本質類型都是List<Object>

原文出處:fastJson API - 灯塔的CSDN博客 - CSDN博客
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]FastJson 的使用

簡介

Fastjson是一個Java語言編寫的高性能功能完善的JSON庫。

高性能

fastjson採用獨創的算法,將parse的速度提升到極致,超過所有json庫,包括曾經號稱最快的jackson。並且還超越了google的二進制協議protocol buf。

支持標準

  • Fastjson完全支持 http://json.org的標準,也是官方網站收錄的參考實現之一。

功能強大

  • 支持各種JDK類型。包括基本類型、JavaBean、Collection、Map、Enum、泛型等。
  • 支持循環引用

無依賴

  • 不需要例外額外的jar,能夠直接跑在JDK上。


支持範圍廣

  • 支持JDK 5、JDK 6、Android、阿里雲手機等環境。

開源

測試充分

  • fastjson有超過1500個testcase,每次構建都會跑一遍,豐富的測試場景保證了功能穩定。

獲得fastjson

下載

http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/


maven

如果你使用了Maven,maven repository配置如下:

<repository>
<id>opensesame</id>
<name>Alibaba OpenSource Repsoitory</name>
<url>http: //code.alibabatech.com/mvn/releases/</url>
<snapshots>
<enabled> false </enabled>
</snapshots>
</repository>

pom.xml文件中加入依賴依賴:

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version> 1.1 . 14 </version>
</dependency>

序列化

一個JSON庫涉及的最基本功能就是序列化和反序列化。Fastjson支持java bean的直接序列化。你可以使用com.alibaba.fastjson.JSON這個類進行序列化和反序列化。

基本序列化

序列化就是把JavaBean對像轉化成JSON格式的文本。

Object o = ...;
String text = JSON.toJSONString(o);

在這個例子中,調用JSON.toJSONString方法,把對像o轉化為JSON格式的文本。


使用單引號

標準的JSON是使用雙引號的,javascript支持使用單引號格式的json文本,fastjson也支持這個特性,打開SerializerFeature.UseSingleQuotes這個特性就可以了了,例如:

Object o = ...;
String text = JSON.toJSONString(o, SerializerFeature.UseSingleQuotes);

fastjson序列化時可以選擇的SerializerFeature有十幾個,你可以按照自己的需要去選擇使用。

日期格式化

fastjson直接支持日期類型數據的格式化,包括java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。

缺省情況下,fastjson將Date類型序列化為long,這個使得序列化和反序列化的過程不會導致時區問題。如:
例如:

long millis = 1324138987429L;
Date date = new Date(millis);
System.out.println(JSON.toJSONString(date));

輸出的結果是

1324138987429

fastjson還提供了基於格式化輸出的SerializerFeature,例如:

JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat);

輸出的結果為:

你可以指定輸出日期的格式,比如修改為輸出毫秒:

JSON.toJSONStringWithDateFormat(date, );

輸出的結果為:


使用WriteClassName特性

fastjson支持序列化時寫入類型信息,從而使得反序列化時不至於類型信息丟失。例如:

Color color = Color.RED;
String text = JSON.toJSONString(color, SerializerFeature.WriteClassName);
System.out.println(text);

輸出結果:

{ : , : 255 , : 0 , : 0 , : 255 }

由於序列化帶了類型信息,使得反序列化時能夠自動進行類型識別,例如:

String text = ...;
Color color = (Color) JSON.parse(text);

瀏覽器和設備兼容

fastjson缺省的序列化內容,是對序列化結果緊湊做了優化配置,使得序列化之後長度更小,但是這種優化配置是對一些瀏覽器和設備不兼容的。比如說在iphone上兼容emoji(繪文字)。

JSON.toJSONString(o, SerializerFeature.BrowserCompatible);

循環引用

很多場景中,我們需要序列化的對象中存在循環引用,在許多的json庫中,這會導致stackoverflow。在功能強大的fastjson中,你不需要擔心這個問題。例如:


A a = new A();
B b = new B(a);
a.setB(b);
String text = JSON.toJSONString(a);
A a1 = JSON.parseObject(text, A. class );
Assert.assertTrue(a1 == a1.getB().getA());

引用 描述
上一級
當前對象,也就是自引用
根對像
基於路徑的引用,相當於 root.getChildren().get(0)

A8@JSONFieldAnnotation">使用@JSONField Annotation

public class User {

@JSONField (name= )
public int getId() { ... }
}
User user = ...;
JSON.toJSONString(user);

從json-lib中升級

如果你已經使用了json-lib,並且痛恨他蝸牛般的速度和囉嗦的API,建議你升級為fastjson,fastjson可以完全兼容json-lib的序列化格式。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer;
import com.alibaba.fastjson.serializer.JSONSerializerMap;
import
com.alibaba.fastjson.serializer.SerializerFeature;
private static final SerializeConfig config;
static {
config = new SerializeConfig();
config.put(java.util.Date. class , new JSONLibDataFormatSerializer()); // 使用和json-lib兼容的日期輸出格式
config.put(java.sql.Date. class , new JSONLibDataFormatSerializer()); // 使用和json-lib兼容的日期輸出格式
}
private static final SerializerFeature[] features = { SerializerFeature.WriteMapNullValue, // 輸出空置字段

SerializerFeature.WriteNullListAsEmpty, // list字段如果為null,輸出為[],而不是null
SerializerFeature.WriteNullNumberAsZero, // 數值字段如果為null,輸出為0,而不是null
SerializerFeature.WriteNullBooleanAsFalse, // Boolean字段如果為null,輸出為false,而不是null
SerializerFeature.WriteNullStringAsEmpty
};
// 序列化為和JSON-LIB兼容的字符串
public static String toCompatibleJSONString(Object object) {
return JSON.toJSONString(object, config, features);
}

通過上面代碼中的toCompatibleJSONString方法,你就可以實現完全兼容json-lib了。


反序列化

反序列化就是把JSON格式的文本轉化為Java Bean對象。

指定Class信息反序列化

String text = ...;
Color color = JSON.parseObject(text, Color. class );

類型集合的反序列化

這個接口類似於parseObject

String text = ...; // [{ ... }, { ... }]
List<User> users = JSON.parseArray(text, User. class );

泛型的反序列化

如果你需要返回一個帶泛型的對象,例如List<User>、Map<String, User>,你可以使用TypeReference來傳入類型信息。

String text = ...;
Map<String, User> userMap = JSON.parseObject(text, new TypeReference<Map<String, User>>() {});

組合類型集合的反序列化

比如在網絡協議中,經常會存在這樣的組合:


[{ /*header*/}, {/*body*/ }]

fastjson對這種結構的反序列化有專門支持。

String text = ...; // [{/* header */}, {/* body */}]
Type[] types = new Type[] {Header. class , Body. class };
List<Object> list = JSON.parseArray(text, types);
Header header = (Header) list.get( 0 );
Body body = (Body) list.get( 1 );

A8@JSONCreator%E6%9D%A5%E6%8C%87%E5%AE%9A%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%AF%B9%E8%B1%A1">使用@JSONCreator來指定構造函數來創建對像

如果你的JavaBean沒有缺省構造函數,可以使用@JSONCreator來指定構造函數


public static class Entity {
private final int id;
private final String name;
@JSONCreator
public Entity( @JSONField (name = ) int id, @JSONField (name = ) String name){
this .id = id;
this .name = name;
}
public int getId() { return id; }

public String getName() { return name; }
}

把JSON文本反序列化為一個原型接口

public static interface Bean {
int getId();
void setId( int value);
String getName();
void setName(String value);
}
String text = ;
Bean bean = JSON.parseObject(text, Bean. class );
// 按接口調用
Assert.assertEquals( 123 , bean.getId());
Assert.assertEquals( , bean.getName());
bean.setId( 234 );
Assert.assertEquals( 234 , bean.getId());
出自:

原文出處: Json解析教程(四.FastJson 的使用) - - ITeye博客
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]fastJson 在 java 後台轉換 json 格式數據探究

fastJson在java後台轉換json格式數據探究(一)

2012年12月28日 13:44:46 長安散人 閱讀數:63213

什麼事 JSON?

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。 易於人閱讀和編寫。同時也易於機器解析和生成。 它基於 JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999 的一個子集。 JSON 採用完全獨立於語言的文本格式,但是也使用了類似於 C 語言家族的習慣(包括 C, C++, C#, Java, JavaScript, Perl, Python 等)。 這些特性使 JSON 成為理想的數據交換語言。

現在我們就來研究一下 fastJson

Fastjson是國內著名的電子商務互聯網公司阿里巴巴內部開發的用於 java 後台處理 json 格式數據的一個工具包,包括 序列化 反序列化 兩部分,它具備如下特徵:

1 .速度最快,測試表明, fastjson
具有極快的性能,超越任其他的 java json parser 。包括自稱最快的 jackson

2 .功能強大,完全支持 java bean 、集合、 Map 、日期、 Enum ,支持范型,支持自省。

3 .無依賴,能夠直接運行在 Java SE 5.0 以上版本

4 .支持 Android

5 .開源 (Apache 2.0)

這是 fastJson 的網址: http://code.alibabatech.com/wiki/display/FastJSON/Overview

其中包含了 json 數據處理的教程, jar 下載地址, example 樣例等。


下面給出fastJson處理json數據格式的代碼樣例:


package fastJson.test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class FastJsonTest
{
/**
* 序列化
*/
public void toJsonString()
{
User user = new User("testFastJson001", "maks", 105);
String text = JSON.toJSONString(user);
System.out.println("toJsonString()方法:text=" + text);
// 輸出結果:text={"age":105,"id":"testFastJson001","name":"maks"}
}
/**
* 反序列化為json對像
*/
public void parseJsonObject()
{
String text = "{\"age\":105,\"id\":\"testFastJson001\",\"name\":\"maks\"}";
JSONObject json = JSON.parseObject(text);
System.out.println("parseJsonObject()方法:json==" + json);
// 輸出結果:json=={"age":105,"id":"testFastJson001","name":"maks"}
}
/**
* 反序列化為javaBean對像
*/
public void parseBeanObject()
{
String text = "{\"age\":105,\"id\":\"testFastJson001\",\"name\":\"maks\"}";
User user = (User) JSON.parseObject(text, User.class);
System.out.println("parseBeanObject()方法:user==" + user.getId() + "," + user.getName() + "," + user.getAge());
// 輸出結果:user==testFastJson001,maks,105
}
/**
* 將javaBean轉化為json對像
*/
public void bean2Json()
{
User user = new User("testFastJson001", "maks", 105);
JSONObject jsonObj = (JSONObject) JSON.toJSON(user);
System.out.println("bean2Json()方法:jsonObj==" + jsonObj);
// 輸出結果:jsonObj=={"age":105,"id":"testFastJson001","name":"maks"}
}
/**
* 全序列化 直接把java bean序列化為json文本之後,能夠按照原來的類型反序列化回來。支持全序列化,需要打開SerializerFeature.WriteClassName特性
*/
public void parseJSONAndBeanEachother()
{
User user = new User("testFastJson001", "maks", 105);
SerializerFeature[] featureArr = { SerializerFeature.WriteClassName };
String text = JSON.toJSONString(user, featureArr);
System.out.println("parseJSONAndBeanEachother()方法:text==" + text);
// 輸出結果:text=={"@type":"fastJson.test.User","age":105,"id":"testFastJson001","name":"maks"}
User userObj = (User) JSON.parse(text);
System.out.println("parseJSONAndBeanEachother()方法:userObj==" + userObj.getId() + "," + userObj.getName() + "," + userObj.getAge());
// 輸出結果:userObj==testFastJson001,maks,105
}
public static void main(String[] args)
{
FastJsonTest test = new FastJsonTest();
// 序列化
test.toJsonString();
// 反序列化為json對像
test.parseJsonObject();
// 反序列化為javaBean對像
test.parseBeanObject();
// 將javaBean轉化為json對像
test.bean2Json();
// 全序列化
test.parseJSONAndBeanEachother();
}
}
控制台輸出結果:


parseJsonObject()方法:json=={"age":105,"id":"testFastJson001","name":"maks"}
parseBeanObject()方法:user==testFastJson001,maks,105
bean2Json()方法:jsonObj=={"age":105,"id":"testFastJson001","name":"maks"}
parseJSONAndBeanEachother()方法:text=={"@type":"fastJson.test.User","age":105,"id":"testFastJson001","name":"maks"}
parseJSONAndBeanEachother()方法:userObj==testFastJson001,maks,105


附:javaBean類User.java


package fastJson.test;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private String name;
private int age;
public User() {
super();
}
public User(String id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}



原文出處:fastJson在java后台转换json格式数据探究(一) - hu_shengyang的专栏 - CSDN博客
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]阿里巴巴的 fastjson 使用示例

Java編程:阿里巴巴的fastjson使用示例

2016年10月19日 18:40:35

在pom.xml文件中添加dependency,如下:


dependency>
groupId>
artifactId>
version>
dependency>

User類:


class User {
private String name;
private Integer age;
private String sex;
toString(){
this.sex;
}
getName() {
return name;
}
setName(String name) {
this.name = name;
}
getAge() {
return age;
}
setAge(Integer age) {
this.age = age;
}
getSex() {
return sex;
}
setSex(String sex) {
this.sex = sex;
}
}

使用示例:


main(String[] args) {
User user = new User();
user.setName();
user.setAge(20);
user.setSex();
String str = ;
/** 將JSON字符串轉換為JSON對像 **/
JSONObject json = JSONObject.parseObject(str);
System.out.println(json.get());
/** 將JSON字符串轉換為JavaBean對像 **/
user = JSONObject.parseObject(str, User.class);
System.out.println(user);
/** 將JavaBean對像轉換為JSON字符串 **/
String content = JSONObject.toJSONString(user);
System.out.println(content);
/** 將JavaBean對像轉換為JSONObject **/
json = (JSONObject)JSONObject.toJSON(user);
System.out.println(json.get());
}


原文出處: Java编程:阿里巴巴的fastjson使用示例 - 天将降大任于是人 - CSDN博客
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]JAVA 中使用 alibaba fastjson 實現 JSONObject、Object、Json 字串的轉換

JAVA中使用alibaba fastjson實現JSONObject、Object、Json字串的轉換

Object轉JSON字串:

String jsonStr = JSONObject.toJSONString(object);

JSON字串轉JSONObject:

JSONObject jsonObject = JSONObjcet.parseObject(jsonStr);

JSON字串轉Object物件

T t = JSON.parseObject(jsonStr,T.class);

原文出處:JAVA中使用alibaba fastjson實現JSONObject、Object、Json字串的轉換 - IT閱讀
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]FastJson 中 JSONObject 用法及常用方法總結

FastJson中JSONObject用法及常用方法總結

本文為博主原創,未經允許不得轉載:

最近一直有用到解析各種數據,主要是用FastJson進行數據解析,其中一個重要的類為JSONObject,今天有時間,所以進行總結一下:

JSONobject是FastJson提供的對象,在api中是用一個私有的常量map進行封裝的,實際就是一個map,只不過FastJson對其進行了封裝,

添加了很多方便快捷的屬性方法。

final Map<String, Object> map;

 在項目中添加maven依賴


        <dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.48</version>
</dependency>

 

先來看下它有哪些常用方法,以及有什麼作用:

1.put(String key, Object value)方法,在JSONObject對像中設置鍵值對在,在進行設值得時候,key是唯一的,如果用相同的key不斷設值得時候,保留後面的值。

2.Object get(String key) :根據key值獲取JSONObject對像中對應的value值,獲取到的值是Object類型,需要手動轉化為需要的數據類型

3.int size():獲取JSONObject對像中鍵值對的數量

4.boolean isEmpty():判斷該JSONObject對象是否為空

5.containsKey(Object key):判斷是否有需要的key值

6.boolean containsValue(Object value):判斷是否有需要的value值

7.JSONObject getJSONObject(String key):如果JSONObjct對像中的value是一個JSONObject對象,即根據key獲取對應的JSONObject對像;

8.JSONArray getJSONArray(String key) :如果JSONObject對像中的value是一個JSONObject數組,既根據key獲取對應的JSONObject數組;

9.Object remove(Object key):根據key清除某一個鍵值對。

由於JSONObject是一個map,它還具有map特有的兩個方法

10.Set<String> keySet() :獲取JSONObject中的key,並將其放入Set集合中

11.Set<Map.Entry<String, Object>> entrySet():在循環遍歷時使用,取得是鍵和值的映射關係,Entry就是Map接口中的內部接口

與String字符串轉換:

12.toJSONString() /toString():將JSONObject對像轉換為json的字符串

 


常用的方法主要為以上這些,下面列出使用這些方法的example:


 main(String[] args) {
新建JSONObject對像
JSONObject object1 = JSONObject();
1.在JSONObject對像中放入鍵值對
object1.put("name", "張三");
object1.put(
"name1", "張三1");
object1.put(
"name2", "張三2");
2.根據key獲取value
String name = (String) object1.get("name");
System.out.println(name);
3.獲取JSONObject中的鍵值對個數
object1.size();
System.out.println(size);
4.判斷是否為空
object1.isEmpty();
System.out.println(result);
5.是否包含對應的key值,包含返回true,不包含返回false
);
System.out.println(isContainsKeyResult);
6.是否包含對應的value值,包含返回true,不包含返回false
);
System.out.println(isContainsValueResult);
7.JSONObjct對像中的value是一個JSONObject對象,即根據key獲取對應的JSONObject對像;
JSONObject object2 = JSONObject();
將jsonobject對像作為value進行設置
object2.put("student1", object1);
JSONObject student
=object2.getJSONObject("student1");
System.out.println(student);
8.如果JSONObject對像中的value是一個JSONObject數組,既根據key獲取對應的JSONObject數組;
JSONObject objectArray = JSONObject();
創建JSONArray數組
JSONArray jsonArray = JSONArray();
在JSONArray數組設值:jsonArray.add(int index, Object value);
jsonArray.add(0, "this is a jsonArray value");
jsonArray.add(
1, "another jsonArray value");
objectArray.put(
"testArray", jsonArray);
獲取JSONObject對像中的JSONArray數組
JSONArray jsonArray2 = objectArray.getJSONArray("testArray");
System.out.println(jsonArray2);
9.remove.根據key移除JSONObject對像中的某個鍵值對
object1.remove("name");
System.out.println(object1);
10.取得JSONObject對像中key的集合
Set<String> keySet= object1.keySet();
(String key : keySet) {
System.out.print(
" "+key);
}
System.out.println();
11.取得JSONObject對像中的鍵和值的映射關係
Set<Map.Entry<String, Object>> entrySet = object1.entrySet();
entry : entrySet) {
System.out.println(entry);
}
12.轉換為json字符串
String str1 = object1.toJSONString();
System.out.println(str1);
String str2
=object1.toString();
System.out.println(str2);
}

 運行以上程序的結果為:


原文出處:FastJson中JSONObject用法及常用方法总结 - 香吧香 - 博客园
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|