盘锦做网站,个人网站备案通过后,怎么做qq刷赞等网站,如何建设社区网站文章目录 JSONJSON 的定义格式快速入门JSON 对象和字符串对象转换JSON 在 java 中使用JSON与java对象的转换JSON与List集合的转换JSON与Map的转换 JSON JSON 指的是 JavaScript 对象表示法#xff08;JavaScript Object Notation#xff09; JSON 是轻量级的文本数据交换格式… 文章目录 JSONJSON 的定义格式快速入门JSON 对象和字符串对象转换JSON 在 java 中使用JSON与java对象的转换JSON与List集合的转换JSON与Map的转换 JSON JSON 指的是 JavaScript 对象表示法JavaScript Object Notation JSON 是轻量级的文本数据交换格式 JSon 在线文档https://www.w3school.com.cn/js/js_json_intro.asp
JSON 的定义格式
var 变量名 { k1 : value, // Number 类型k2 : value, // 字符串类型k3 : [], // 数组类型k4 : {}, // json 对象类型k5 : [{},{}] // json 数组
};快速入门
!DOCTYPE html
html langenheadmeta charsetUTF-8titleTitle/titlescript srcjquery-3.7.1.js typetext/javascript/scriptscript typetext/javascriptvar myJson {key1: lxg, // 字符串key2: 123, // Number key3: [1, hello, 2.3], // 数组key4: {age: 12, name: jack}, //json 对象key5: [ //json 数组{k1: 10, k2: milan}, {k3: 30, k4: smith}]};//访问 json 的属性console.log(key1 myJson.key1);// 访问 json 的数组属性console.log(key3[1] myJson.key3[1]); // hello// 访问 key4 的 name 属性console.log(name myJson.key4.name); // jack// 访问 key5 json 数组的第一个元素console.log(myJson.key5[0] myJson.key5[0]); //[object, object]console.log(myJson.key5[0].k2 myJson.key5[0].k2)// milan/script/headbody/body
/htmlJSON 对象和字符串对象转换 JSON.stringify(json)功能将一个 json 对象转换成为 json 字符串 JSON.parse( jsonString )功能将一个 json 字符串转换成为 json 对象 !DOCTYPE html
html langenheadmeta charsetUTF-8titleTitle/titlescript srcjquery-3.7.1.js typetext/javascript/scriptscript typetext/javascriptvar myJson {name: xxx};console.log(myJson)var s JSON.stringify(myJson)console.log(s)var myJson1 JSON.parse(s)console.log(myJson1)/script/headbody/body
/html注意事项
JSON.springifyjson 对象 会返回对应 string并不会影响原来 json 对象JSON.parsestring 函数会返回对应的 json 对象并不会影响原来 string在定义 Json 对象时, 可以使用 ’ ’ 表示字符串,比如 var json_person {name: jack, age: 100},也可以写成 var json_person {name: jack, age: 100}但是在把原生字符串转成 json 对象时必须使用 “”否则会报错 比如var str_dog “{‘name’:‘小黄狗’, ‘age’: 4}”; 转 json 就会报错JSON.springifyjson 对象返回的字符串, 都是 “” 表示的字符串, 所以在语法格式正确的情况下, 是可以重新转成 json 对象的
JSON 在 java 中使用 java 中使用 json需要引入到第 3 方的包 gson.jar Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以对 JSON 字符串和 Java 对象相互转换 创建JavaBean
public class Monster {private Integer id;private String name;private String skill;public Monster(Integer id, String name, String skill) {this.id id;this.name name;this.skill skill;}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getSkill() {return skill;}public void setSkill(String skill) {this.skill skill;}
}JSON与java对象的转换
import com.google.gson.Gson;public class test {public static void main(String[] args) throws Exception {Gson gson new Gson();Monster monster new Monster(100, 小火龙, 喷火);// 将java对象转换成json字符串String json gson.toJson(monster);System.out.println(json);// 将json字符串转换成java对象Monster monster1 gson.fromJson(json, Monster.class);System.out.println(monster1);}
}
JSON与List集合的转换
public class test03 {public static void main(String[] args) throws Exception {Gson gson new Gson();ArrayListMonster monsters new ArrayList();monsters.add(new Monster(100, 小火龙, 喷火));monsters.add(new Monster(100, 稻草人, 恐惧));// 将List集合转换成JSON字符串String json gson.toJson(monsters);System.out.println(json);// 将JSON字符串转换成List集合Object o gson.fromJson(json, new TypeTokenListMonster() {}.getType());System.out.println(o);}
}其中TypeTokenListMonster() {}为匿名内部类用于保存集合元素的类型因为程序运行时无法直接得到list中元素的具体类型需要通过匿名子类间接获取。
JSON与Map的转换
public static void main(String[] args) throws Exception {Gson gson new Gson();MapString, Monster map new HashMap();map.put(1, new Monster(100, 小火龙, 喷火));map.put(2, new Monster(100, 稻草人, 恐惧));// 将Map转换成JSON字符串String json gson.toJson(map);System.out.println(json);// 将JSON字符串转换成MapObject o gson.fromJson(json, new TypeTokenMapString, Monster(){}.getType());System.out.println(o);
}
}