JSON 语法规则
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON 值范围
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
JSON 对象
JSON 对象在花括号中,对象可以包含多个名称/值对,如下代码所示:
{
"name": "鹿晗",
"age": 26,
"birthday": "1990年4月20日",
}
JSON 数组
JSON 数组在方括号("[]")中书写,数组可包含多个对象,如下“star_male”描述
{
"star_male": [
{
"name": "鹿晗",
"age": "26"
},
{
"nickname": "李易峰",
"age": "29"
},
{
"nickname": "陈赫",
"lastName": "31"
}
]
}
JSON 文件说明
- JSON 文件的文件后缀是 “.json”,如:sojson.json
- JSON 文本的 MIME 类型是 “application/json”
创建JSONArray对象,并遍历
public class JsonTest {
public static void main(String[] args) {
test7();
//test6();
}
/**
* 创建JSONArray,并输出数组中的每一个值
*/
public static void test7(){
//1. 以String的方式创建JSONArray对象
String json = "[{\"name\":\"张三\",\"code\":\"123\"},{\"name\":\"李四\",\"code\":\"123\"}]";
JSONArray jsonArray = new JSONArray(json);
System.out.println(jsonArray);
// 遍历
if(jsonArray.length() > 0){
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println("name: "+jsonObject.get("name"));
}
}
System.out.println();
System.out.println("---以集合的方式创建JSONArray对象---");
//2. 以集合的方式创建JSONArray对象
ArrayList<User> users = new ArrayList<User>();
users.add(new User("zhangsan",21));
users.add(new User("lisi",18));
users.add(new User("wangwu",32));
JSONArray array = new JSONArray(users);
System.out.println(array.toString());
// 遍历
if(array.length() > 0){
for (int i = 0; i < array.length(); i++) {
JSONObject jsonObject = array.getJSONObject(i);
System.out.println("name: "+jsonObject.get("name"));
}
}
}
}
运行结果: