掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
java語(yǔ)言最快的json庫(kù)fastjson發(fā)布1.1.32版本,這個(gè)版本增加了stream api,支持處理超大json文本

當(dāng)需要處理超大JSON文本時(shí),需要Stream API,在fastjson-1.1.32版本中開(kāi)始提供Stream API。
# 序列化
## 例1
- JSONWriter writer = new JSONWriter(new FileWriter("/tmp/huge.json"));
- writer.startArray();
- for (int i = 0; i < 1000 * 1000; ++i) {
- writer.writeValue(new VO());
- }
- writer.endArray();
- writer.close();
## 例2
- JSONWriter writer = new JSONWriter(new FileWriter("/tmp/huge.json"));
- writer.startObject();
- for (int i = 0; i < 1000 * 1000; ++i) {
- writer.writeKey("x" + i);
- writer.writeValue(new VO());
- }
- writer.endObject();
- writer.close();
# 反序列化
## 例3
- JSONReader reader = new JSONReader(new FileReader("/tmp/huge.json"));
- reader.startArray();
- while(reader.hasNext()) {
- VO vo = reader.readObject(VO.class);
- // handle vo ...
- }
- reader.endArray();
- reader.close();
## 例4
- JSONReader reader = new JSONReader(new FileReader("/tmp/huge.json"));
- reader.startObject();
- while(reader.hasNext()) {
- String key = reader.readString();
- VO vo = reader.readObject(VO.class);
- // handle vo ...
- }
- reader.endObject();
- reader.close();

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流