第三十五天 一桥飞架南北—JSON(一)
2014-07-17 10:03
169 查看
7月17日,高温。“赤日炎炎似火烧,野田禾稻半枯焦。 农夫心内如汤煮,公子王孙把扇摇”。
植物蛋白的转化就是豆腐,关键是点石膏;动物蛋白的转化就是奶酪,关键是发酵。WEB前端的数据流转,玩的就是JSON了。
简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是 JavaScript 很容易解释它,而且
JSON 可以表示比名称 / 值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。
简单的JSON好解决,但没有实用价值
,项目要求生成如下复杂的JSON,该怎么办?
Java中几个json工具你可以使用jackson ,gson和Json-lib等。
本文使用Fastjson这一国产神器,号称快得不得了
。Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON
Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。
一、下载fastjson-1.1.41.jar,地址http://repo1.maven.org/maven2/com/alibaba/fastjson/
二、编写Data类
数据对象转换成json字符串的方法都是一样的
String jsonString = JSON.toJSONString(obj);
运行结果:
植物蛋白的转化就是豆腐,关键是点石膏;动物蛋白的转化就是奶酪,关键是发酵。WEB前端的数据流转,玩的就是JSON了。
简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是 JavaScript 很容易解释它,而且
JSON 可以表示比名称 / 值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。
简单的JSON好解决,但没有实用价值
,项目要求生成如下复杂的JSON,该怎么办?
{ "data": [ { "books": [ { "iD": 1, "money": 38, "name": "陆犯焉识" }, { "iD": 2, "money": 25, "name": "小姨多鹤" } ], "id": 1, "name": "严歌苓" }, { "books": [ { "iD": 1, "money": 38, "name": "暗算" }, { "iD": 2, "money": 25, "name": "风声" } ], "id": 1, "name": "麦家" } ] }
Java中几个json工具你可以使用jackson ,gson和Json-lib等。
本文使用Fastjson这一国产神器,号称快得不得了
。Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON
Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。
一、下载fastjson-1.1.41.jar,地址http://repo1.maven.org/maven2/com/alibaba/fastjson/
二、编写Data类
package edu.eurasia.json; import java.util.ArrayList; import java.util.List; public class Data { private List<Author> data = new ArrayList<Author>(); public List<Author> getData() { return data; } public void setData(List<Author> data) { this.data = data; } }三、编写Author类
package edu.eurasia.json; import java.util.ArrayList; import java.util.List; public class Author { private int id; private String name; private List<Book> books = new ArrayList<Book>(); public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Book> getBooks() { return books; } public void setBooks(List<Book> books) { this.books = books; } }四、编写Book类
package edu.eurasia.json; public class Book { private int ID; private String name; private int money; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getID() { return ID; } public void setID(int iD) { ID = iD; } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } }五、编写JSONDemo类—生成JSON
package edu.eurasia.json; import com.alibaba.fastjson.JSON; public class JSONDemo { public static void main(String[] args) { Data data = new Data(); Author authorOne = new Author(); authorOne.setId(1); authorOne.setName("严歌苓"); Book bookOne = new Book(); bookOne.setID(1); bookOne.setName("陆犯焉识"); bookOne.setMoney(38); Book bookTwo = new Book(); bookTwo.setID(2); bookTwo.setName("小姨多鹤"); bookTwo.setMoney(25); data.getData().add(authorOne); authorOne.getBooks().add(bookOne); authorOne.getBooks().add(bookTwo); Author authorTwo = new Author(); authorTwo.setId(1); authorTwo.setName("麦家"); Book bookThree = new Book(); bookThree.setID(1); bookThree.setName("暗算"); bookThree.setMoney(38); Book bookFour = new Book(); bookFour.setID(2); bookFour.setName("风声"); bookFour.setMoney(25); data.getData().add(authorTwo); authorTwo.getBooks().add(bookThree); authorTwo.getBooks().add(bookFour); String jsonString = JSON.toJSONString(data); System.out.println(jsonString); } }
数据对象转换成json字符串的方法都是一样的
String jsonString = JSON.toJSONString(obj);
运行结果:
{"data":[{"books":[{"iD":1,"money":38,"name":"陆犯焉识"},{"iD":2,"money":25,"name":"小姨多鹤"}],"id":1,"name":"严歌苓"},{"books":[{"iD":1,"money":38,"name":"暗算"},{"iD":2,"money":25,"name":"风声"}],"id":1,"name":"麦家"}]}
相关文章推荐
- 我的第三课:【JSON】====JSON 使用
- 第三课2 重写用户登录模块(整合Jquery+JSON做验证)
- 爬虫第三战 json爬取网易新闻
- 网络通信第三课 HTTP请求数据携带Json数据格式分析
- (转).NET3.5中JSON用法以及封装JSON工具类(一)
- Objective-C和PHP进行json交互
- Json数据异步绑定到界面的Table并且自动刷新原理及代码
- java与json互相转换(解决日期问题)
- jquery和ajax,json写法的说明
- Java构造和解析Json数据的两种方法详解
- 将json转化为lua中的表
- golang生成目录嵌套json使用jstree显示
- 关于jquery解析json数据
- JavaWeb将数据包装成JSON以及JSP通过ajax对JSON的获取与解析(代码实例)
- JSON和JAVA相互转换
- 不登录CSDN就获取需要登陆的JSON数据 (已解决)
- node.js xml与json相互转化
- 在 springmvc 中, 如何配置 fastjson (阿里开源的) 和 Jackson( Spring 内置的)
- js将object转为json数据格式(java)
- JSON Web Token - 在Web应用间安全地传递信息