JSON

JSON(JavaScript Object Notation ) 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript 很容易解释它,而且 JSON 可以表示比名称 / 值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。

简单的JSON示例:

     {"firstName":"Brett"}相当于纯文本名称/值对,并且比文本占用更多的空间

将多个名称/值对串在一起时,JSON就会出现它的价值:

    {"firstName":"Brett","lastName":"mike","email":liuyk168168@sina.com}.从语法方面来看,这与名称 / 值对相比并没有很大的优势,但是在这种情况下 JSON 更容易使用,而且可读性更好。例如,它明确地表示以上三个值都是同一记录的一部分;花括号使这些值有了某种联系。

值的数组:

{ "people": [ 
  { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }, 
  { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }, 
  { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" } 
 ]} 

javascript中使用JSON:

var people = 
  { "programmers": [ 
    { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }, 
    { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }, 
    { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" } 
   ], 
  "authors": [ 
    { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, 
    { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, 
    { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } 
   ], 
  "musicians": [ 
    { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, 
    { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } 
   ] 
  } 

访问数据: people.programmers[0].lastName;

修改数据:people.musician[1].lastname="jesse";

转换成字符串:string newJSONtext=people.toJSONString();

posted @ 2011-05-28 22:46  jesse-win  阅读(217)  评论(0)    收藏  举报