前后端通信整理

Q JSON对象如何表示

A:  对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。例如:

    var o={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};

I:  或许数据格式的定义没有必要那么严格的遵循,但是遵循标准一定可以带来好处

           可以不严格遵循:

                                   key可以不加引号,

                                   双引号可以替换为单引号

 

---------------------

Q: JSON对象和JS对象之间的区别

A:  看起来稍微有一点差异

JS对象格式
var people1={ 
    name:'hehe', 
    age:18 
}; 


json对象的格式是: 
var people1={ 
"name":'hehe', 
"age":18 
}; 

 
     可以认为没有区别,因为key的双引号是可选的,在JS里面只有JS对象,没有所谓的JSON对象,JSON仅仅是一种数据格式而已。

 JS是一种脚本语言,你所谓的对象,其实还只是处在源码阶段,当这段符合语法的文本被脚本引擎解释之后,在内存中才会产生对象,至于是否符合语法,取决于脚本引擎。 JSON不是一种语言,它仅仅是一种数据的表达方式,从某种程度上来讲,JSON跟XML没有什么区别。通过JSON格式定义的JS对象,如果要转化为JS对象的话,是交给eval函数来处理的,那么,如何理解JSON的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。 另外,JS必须交给JS脚本引擎处理,而JSON的字符串,任何程序都能处理,至于引号的问题,取决于JSON解析器的容忍程度,如果你愿意,也可按照自己的意愿写一个解析器,能够容忍包括不写引号,或者单/双引号,甚至其他任何符号作为边界符。

 

  

  

 

你可能感兴趣的:(前后端通信整理)