一、认识 JSON(JavaScript Object Notation)
JSON JavaScript 对象表示法(JavaScript Object Notation) 是一种存储数据的方式。
创建JSON对象 var gareen = {"name":"盖伦","hp":616}; | <script> var gareen = {"name":"盖伦","hp":616}; document.write("这是一个JSON对象: "+gareen); </script> |
访问JSON对象 | <script> var gareen = {"name":"盖伦","hp":616}; document.write("英雄名称: " + gareen.name + "<br>"); document.write("英雄血量: " + gareen.hp + "<br>"); </script> |
二、 数组
创建JSON 数组 通过方括号[] 创建JSON 数组 | <script> var heros= [ {"name":"盖伦","hp":616}, {"name":"提莫","hp":313}, {"name":"死歌","hp":432}, {"name":"火女","hp":389} ] document.write("JSON数组大小"+heros.length); </script> |
访问JSON数组 访问JSON数组和访问普通数组一样,通过下标访问 | <script> var heros= [ {"name":"盖伦","hp":616}, {"name":"提莫","hp":313}, {"name":"死哥","hp":432}, {"name":"火女","hp":389} ] document.write( "第4个英雄是:" + heros[3].name); </script> |
三、 对象转换
JSON对象与JavaScript对象 | JavaScript对象 分内置对象(Number,String,Array,Date,Math)和自定义对象 JSON就是自定义对象,只不过是以JSON这样的数据组织方式表达出来 所以不存在JSON对象与JavaScript对象的转换问题 |
字符串转为JSON对象 通过字符串拼接得到一个JSON结构的字符串,并不是一个JSON对象。 需要通过eval转换得到 | <script> var s1 = "{\"name\":\"盖伦\""; var s2 = ",\"hp\":616}"; var s3 = s1+s2; document.write("这是一个JSON格式的字符串:" + s3); document.write("<br>"); var gareen = eval("("+s3+")"); document.write("这是一个JSON对象: " + gareen); </script> |
JSON 对象转换为字符串 json 对象因为是一个javascript对象,所以如果直接打印的话,看不到里面的内容。 | <script> var hero = {"name":"盖伦","hp":"616"}; document.write("这是一个json 对象:"+ hero); document.write("<br>"); var heroString = JSON.stringify(hero) document.write("这是一个json 字符串:"+ heroString ); </script> |