cnzz统计代码放在网站,网站建设域名是什么,科技绘画作品图片大全,试客类网站开发JSON#xff08;JavaScript Object Notation#xff09;一种灵活、高效、轻量级的数据交换格式#xff0c;广泛应用于各种数据交换和存储场景。
基本特点
1、简单易用#xff1a;JSON格式非常简单#xff0c;易于理解和使用。
2、轻量级#xff1a;相比XML等其他数据格…JSONJavaScript Object Notation一种灵活、高效、轻量级的数据交换格式广泛应用于各种数据交换和存储场景。
基本特点
1、简单易用JSON格式非常简单易于理解和使用。
2、轻量级相比XML等其他数据格式JSON占用的空间更小传输效率更高。
3、跨平台JSON是一种纯文本格式可以轻松地在不同的系统和编程语言之间交换数据。
4、可读性强JSON格式的数据结构清晰易于阅读和调试。
数据结构
JSON支持两种数据结构
1、对象Object无序的键值对集合用大括号 {} 包围。键必须是字符串值可以是任意有效的JSON数据类型。
{name: John,age: 30,isStudent: false,hobbies: [reading, coding, traveling]
}2、数组Array有序的值集合用方括号 [] 包围。数组中的值可以是任意有效的JSON数据类型。
[apple,banana,42,true,{name: Alice,age: 25}
]在Java中使用 org.json.JSONObject 类来解析和生成JSON数据。
import org.json.JSONObject;// 解析JSON
String jsonString {\name\: \John\, \age\: 30};
JSONObject jsonObject new JSONObject(jsonString);
System.out.println(jsonObject.getString(name)); // 输出: John// 生成JSON
JSONObject jsonObject new JSONObject();
jsonObject.put(name, John);
jsonObject.put(age, 30);
String jsonString jsonObject.toString();
System.out.println(jsonString); // 输出: {name:John,age:30}转换
fastjson 是阿里巴巴开源的一个高性能的JSON库 导入项目
1、对象或集合内套集合也可以转JSON对象
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;public class User {private String name;private int age;// getter 和 setter 方法
}public class JsonExample {public static void main(String[] args) {User user new User();user.setName(John);user.setAge(30);// 对象转JSON字符串String jsonString JSON.toJSONString(user);System.out.println(jsonString); // 输出: {name:John,age:30}// 对象转JSONObjectJSONObject json new JSONObject();json.putAll(JSON.parseObject(jsonString));System.out.println(json.toJSONString()); // 输出: {name:John,age:30}}
}2、JSON格式字符串与JSON对象之间的转换
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;public class JsonExample {public static void main(String[] args) {String j {\goodslist\:[{\goods_id\:1}],\name\:\张三\};// JSON字符串转JSONObjectJSONObject jsonObject JSON.parseObject(j);System.out.println(jsonObject.toJSONString()); // 输出: {goodslist:[{goods_id:1}],name:张三}// 或者JSONObject jsonObject2 JSONObject.parseObject(j);System.out.println(jsonObject2.toJSONString()); // 输出: {goodslist:[{goods_id:1}],name:张三}}
}3、JSON字符串-数组类型与JSONArray之间的转换
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;public class JsonExample {public static void main(String[] args) {String JSON_ARRAY_STR [{\studentName\:\lily\,\studentAge\:12},{\studentName\:\lucy\,\studentAge\:15}];// JSON字符串转JSONArrayJSONArray jsonArray JSON.parseArray(JSON_ARRAY_STR);System.out.println(jsonArray.toJSONString()); // 输出: [{studentName:lily,studentAge:12},{studentName:lucy,studentAge:15}]}
}4、复杂JSON格式字符串与JSONObject之间的转换
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;public class JsonExample {public static void main(String[] args) {String j {\goodslist\:[{\goods_id\:1}],\name\:\张三\};// 复杂JSON字符串转JSONObjectJSONObject jsonObject JSON.parseObject(j);System.out.println(jsonObject.toJSONString()); // 输出: {goodslist:[{goods_id:1}],name:张三}}
}5、JSON字符串转JAVA对象
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;public class User {private String name;private int age;// getter 和 setter 方法
}public class JsonExample {public static void main(String[] args) {String j {\name\:\张三\,\age\:30};// JSON字符串转User对象User user JSON.parseObject(j, new TypeReferenceUser() {});System.out.println(user.getName()); // 输出: 张三System.out.println(user.getAge()); // 输出: 30}
}6、JSON字符串集合转LIST对象
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;public class Goods {private int goods_id;// getter 和 setter 方法
}public class JsonExample {public static void main(String[] args) {String str [{\goods_id\:1},{\goods_id\:2}];// JSON字符串集合转ListGoods对象ListGoods goodslist JSON.parseObject(str, new TypeReferenceArrayListGoods() {});for (Goods goods : goodslist) {System.out.println(goods.getGoods_id());}// 输出: 1// 输出: 2}
}JSON字符串转JSON对象使用 JSON.parseObject() 或 JSONObject.parseObject()。JSON对象转JSON字符串使用 JSON.toJSONString() 或 jsonObject.toJSONString()。JSON字符串转JSONArray使用 JSON.parseArray()。JSON字符串转Java对象使用 JSON.parseObject() 并指定目标类或 TypeReference。JSON字符串集合转List对象使用 JSON.parseObject() 并指定 TypeReference。