JSON入门
一、简介
2)存储和交换文本信息的语法。类似 XML
3)比 XML 更小、更快,更易解析
4)独立于语言
2、语法
1)花括号保存对象,方括号保存数组,数据在名称/值对中,数据由逗号分隔
例如:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
2)JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
[{ "firstName":"John" , "lastName":"Doe" },{ "firstName":"Anna" , "lastName":"Smith" },{ "firstName":"Peter" , "lastName":"Jones" }]
-------------------------------------分割线---------------------------------------------------
下面举几个具体的列子理解下上面写的内容
1、JSONObject
定义一个JavaBean
public class Student {
private String name;
private int Grade;
private List<String> teachers;
public Student() {
}
public Student(String name, int grade, List<String> teachers) {
super();
this.name = name;
Grade = grade;
this.teachers = teachers;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getGrade() {
return Grade;
}
public void setGrade(int grade) {
Grade = grade;
}
public List<String> getTeachers() {
return teachers;
}
public void setTeachers(List<String> teachers) {
this.teachers = teachers;
}
}
主方法:
public class TestJson {
public static void main(String[] args) {
List<String> teacherList = new ArrayList<String>();
teacherList.add("math");
teacherList.add("english");
Student stu = new Student("yaohuix", 2, teacherList);
JSONObject jsonObject = JSONObject.fromObject(stu);
// Bean转JSONObject或JSON字符串(只要toString())
System.out.println(jsonObject);// 输出:{"grade":15,"name":"yaohuix","teachers":["math","english"]}
// JSONObject或JSON字符串(只要toString())转Bean
Student otherStu = (Student) JSONObject.toBean(jsonObject,
Student.class);
System.out.println(otherStu.getName());// 输出:yaohuix
System.out.println(otherStu.getGrade());// 输出:2
System.out.println(otherStu.getTeachers());// 输出:[math, english]
}
}
JSON入门的更多相关文章
- JSON入门指南--客户端处理JSON
在传统的Web开发过程中,前端工程师或者后台工程师会在页面上写后台的相关代码,比如在ASP.NET MVC4里面写如下代码: @Html.TextBoxFor(m => m.UserName, ...
- 初学者看过来之JSON入门
1. 什么是JSON JSON---Javascript Object Notation,前两个单词大家应该都认识,最后一个notation,是"记号.标记法"的意思,连在一起,便 ...
- JSON入门指南--服务端处理JSON
平时公司使用的ASP.NET MVC3来开发Web项目,其实在ASP.NET中已经原生的支持JSON.所以基本不需要引进Newtonsoft.Json.dll.下面看在MVC4中,后台生成JSON数据 ...
- (Spring4 json入门)Spring4+SpringMVC+页面数据发送与接收(json格式)
jar包(Maven仓库): Spring4 jar包(Maven仓库): 在测试过程中我查看了网上的一些教程,但是那些教程都是在Spring3环境下的,Spring3和Spring4解析json需要 ...
- JSON入门教程
尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web Services,否则,在普通的 Web 应用中,开发者经常为 XML 的解析伤透了脑筋,无论是服务器端生成或处理 ...
- JSON入门学习
JSON是一种与开发语言无关的轻量级的数据格式(JavaScript Object Notation) 优点:易于阅读和编写,易于程序解析和生产 JSON数据格式中没有日期及时间的数据格式的.一般直接 ...
- [转]JSON 入门指南
原文地址:http://www.ibm.com/developerworks/cn/web/wa-lo-json/ 尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web ...
- json入门(二)
背景 之前最早的时候,也见过类似于这样的字符串: {"list":[ {"ArticleId":7392749,"BlogId&q ...
- json 入门(1)
1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,Java arrays和xml和JSON互相转换的包. 2.下载jar包 http:// ...
随机推荐
- bzoj3504: [Cqoi2014]危桥
题意:给出一个图,有的边可以无限走,有的只能走两次(从一头到另一头为一次),给定两个起点以及对应的终点以及对应要走几个来回,求判断是否能完成. 先来一个NAIVE的建图:直接限制边建为容量1,无限制为 ...
- 【图像处理】【SEED-VPM】5.uImage的烧写 & NFS烧写文件系统
基于 TFTP 烧写 uImage 当用户对 SEED-VPM6467 下的内核驱动源码进行调整或者添加新的设备驱动后,需要对内核进行重新编译配置,编译生成内核镜像后,可以通过 tftp 下载到 SE ...
- PHP基础教程-54课-问题
question: $arr = array(1,2,3,4); /*如何通过foreach 将数组变成 $arr = arry(2,4,6,8) */ 起初用: $arr = array(1,2,3 ...
- cygwin下载指南(转)
http://blog.chinaunix.net/uid-20178959-id-1731456.html
- nginx 目录文件列表功能配置
工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果,而Nginx也可以满足这样的需求(nginx 目录列表功能默认是关闭的),这时就需要配置. ...
- 用wget下载整个目录
wget -c -r -np -P files www.test.com/dir/src -c 断点续传 -r 递归下载 -np 不下载父附录 -nd 不建立目录,若无此选项,将按照网站目录结构创建目 ...
- jdbc escape
假如有这样1个查询请求,模糊查询标题中包含a%b_cc’d的记录,正确的sql应该是下面这样的: select * from t_sch_work_info t where t.title ...
- 两个APP跳转传值问题
最近工作上遇到个问题,新的项目要和老系统单点登录. 有点蒙,从来没做过,网上一搜都是SSO,还需要验证服务器. 仔细揣摩,其实需求很简单,没必要那么复杂,以下是我的需求和解决方案: 原系统AP1 新开 ...
- python 中的高级函数reduce()
reduce()函数也是Python内置的一个高阶函数.reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收 ...
- Informatica Lookup Transformation组件的Connect 与Unconnected类型用法
Informatica Lookup Transformation组件的Connect 与Unconnected类型用法及区别:下面是通一个Lookup在不同Mapping中的使用: 1. Conne ...