JSON学习

Posted nancyzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON学习相关的知识,希望对你有一定的参考价值。

JSON总结
 
1. 什么是JSON?
  JSON(javascript Object Notation,JS对象标记):是一种轻量级的数据交换格式。
  
  注:1>轻量级:是相对于xml而言的,JSON文档更小,JSON解析速度更快。
    2>数据格式:指将要交换的数据先转换成一种与平台无关的数据格式,然后交给接收方来处理。
 
2. JSON的优点?
  1>简洁和清晰的层次结构
  2>易于人阅读和编写
  3>易于机器解析和生成
  4>有效提升网络传输效率
  5>与平台无关性,可以像xml一样在多个平台之间传输数据。
 
 
3. JSON的结构?
  1> "名称/值"对的集合,即对象。  
  2>  值的有序列表,即数组。
 

4. JSON 语法?

      1> 使用JSON表示一个对象

     语法结构:{"属性名" : 属性值 ,  "属性名" : 属性值 , ......}

   注意要点:(1) 属性名必须使用双引号括起来。        
        (2) 属性值可以取以下五种类型中的一种:String,number,boolean,null,object(一切对象类型)。       
        (3) 属性值如果是字符串,必须使用双引号括起来;其它类型,不需要直接使用双引号括起来。

   示例:{"name" : "SunShine" , "age" : 18}       

      2> 使用JSON表示一个数组

   语法结构:[value1,value2,value3,......]

    注意要点: (1) 数组最外面用中括号括起来。 
             (2)value可以是简单数据类型,也可以是Object(对象),数组类型。

      示例:[ {"name" : "Tim" , "age" : 20} , {"name" : "John" , "age" : 34} , {"name" : "Jason" , "age" : 10} ]

       ["JAVA" , "JQuery" , "CSS" , "Html5" ]

 

5. JSON 与 JS 对象的关系?

  JSON 是 JS 对象的字符串表示法,JSON语法借鉴于JS对象的语法,但是却比JS对象的语法要求更加严格,必须遵守这个语法规范。
  JSON 使用文本表示一个 JS 对象的信息,本质是一个字符串。
 
  <1> JS对象的表示法: var obj={ name : ‘Tim‘ , age : 20}     // 属性名可以用双引号也可以不用双引号。
  <2> JSON对象的表示法: var json= ‘{"name" : "Tim" , "age" : 20 }‘    //属性名必须用双引号括起来,这是JSON的语法规范,必须遵守。
 
 

6. JSON 和 JS 对象互转?

 1>JS对象  转  JSON 字符串:  
    使用 JSON.stringify() 方法:  
    例如:var json=JSON.stringify({name : ‘Tim‘ , age : 20});  //json的结果为:‘{"name" : "Tim" , "age":20}‘
 
     2>JSON字符串  转  JS对象:
      使用 JSON.parse() 方法:
      例如:var obj=JSON.parse(‘{"name":"Tim","age":20}‘);  //obj的结果为:{name:‘Tim‘,age:20}

 

7. Java对象转JSON字符串

  1>把java对象转换成JSON字符串

    使用JSONObject.fromObject();

    示例:Employee emp=new Employee("1","张三","男");

         JSONObject obj=JSONObject.fromObject(emp);

         String jsonStr=obj.toString();

  2>把java数组/集合转换成JSON字符串

    使用JSONArray.fromObject();

    示例:List<Employee> emps=new ArrayList<Employee>();

         Employee emp;

       emp=new Employee("1","张三","男");

       emps.add(emp);

         emp=new Employee("2","李四","男");

       emps.add(emp);

       JSONArray arr=JSONArray.fromObject(emps);

       String jsonStr=arr.toString();

 

8. 常用类型

  在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。
 
  1>对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应      的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
 
  2>数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 ["java", "javascript", "vb", ...] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使      用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。






以上是关于JSON学习的主要内容,如果未能解决你的问题,请参考以下文章

Json学习一(基础概念知识学习)

Python学习—json模块

Json学习总结

Json学习一(基础概念知识学习)

springmvc学习笔记(18)-json数据交互

前端——JSON学习总结