JSON简介:
JSON:JavaScript对象表示法
JSON是存储和交换文本信息的语法。
- JSON是轻量级的文本数据交换格式
- JSON独立于语言平台
- JSON具有自我描述性,更易理解
JSON与XML
类似于XML,比XML更小、更快,更易解析
- 没有结束标签
- 更短
- 读写的速度更快
- 使用数组
- 不用保留字
JSON语法
JSON语法是Javascript对象表示法语法的自己。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true或false)
- 对象(在花括号中)
- 数组(在方括号中)
- null
例如:
{"firstName":"john","lastName","ziyang"}
{
"array":[
{"firstName":"john","lastName":"ziyang"},
{"firstName":"jack","lastName":"doe"}
]
}
json官网:http://www.json.org/
-------------------------------------------分割线----------------------------------
简单的读取Json DEMO
package anzy.cn.demo;
import java.io.FileNotFoundException;
import java.io.FileReader;
import com.google.gson.JsonArray;
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
public class JsonRead {
public static void main(String[] args) {
String file = "jsonTest.json";
JsonParser parser = new JsonParser();
try {
JsonObject object = (JsonObject) parser.parse(new FileReader(file));
System.out.println("name = "+object.get("name").getAsString());
System.out.println("flag = "+object.get("flag").getAsBoolean());
JsonArray array = object.get("array").getAsJsonArray();
for(int i = 0;i<array.size();i++){
JsonObject subObject = array.get(i).getAsJsonObject();
System.out.println("firstName = "+subObject.get("firstName"));
System.out.println("lastName = "+subObject.get("lastName"));
}
} catch (JsonIOException | JsonSyntaxException | FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
json文件内容:
{
"array":[
{"firstName":"john","lastName":"ziyang"},
{"firstName":"jack","lastName":"doe"}
],
"name":"AnZiyang",
"flag":true
}
以上
----------------------------------------