JavaScript--Json对象

JSON(JavaScript Object  Notation)一种简单的数据格式,比xml更轻巧。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。
JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。
   规则如下:
       1)映射用冒号(“:”)表示。名称:值
       2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2
       3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2}
       4) 并列数据的集合(数组)用方括号(“[]”)表示。
         [
           {名称1:值,名称2:值2},
           {名称1:值,名称2:值2}
         ]
      5  元素值可具有的类型:string, number, object, array, true, false, null

在服务器端,可以手工拼接json字符串,也可以使用json接口来拼接json对象,然后在客户端进行解析显示

1、在服务器端

  1、手动拼接字符串

     String json="[{'province':'湖北'},{'province':'河南'}]";
          out.println(json);

  2、使用接口拼接(需要导入json_lib.jar包)

    List<Person> list=new ArrayList<Person>();
         Person p1=new Person("1", "tom");
           Person p2=new Person("2", "mary");
           Person p3=new Person("3", "jack");
           list.add(p1);
           list.add(p2);
           list.add(p3);       
            JSONArray json=JSONArray.fromObject(list);//转化为json对象

      out.println(json.toString());//返回时仍旧是string类型

2、在客户端对json对象进行解析

       var data=xhr.responseText;
                    var json=eval("("+data+")");
                    //alert(json.length);
                    for(var i=0;i< json.length;i++)
                    {
                        alert(json[i].id);
                    alert(json[i].name);
                    }

/*
      * 利用eval()函数转换成json数据格式,传入eval()函数的内容还是文本内容
      *         * 利用eval()函数进行转换json数据格式,需要利用"()"将传入的参数进行包裹
      *             * 如果不利用"()"进行包裹,传入的内容是"{}",这时eval()函数会将其识别成"空的语句块"
      *             * 如果利用"()"进行包裹,传入的内容是"{}",这时eval()函数会强行将其转换成json格式
      *
      *         * 加上"()"一定转换成功

*/

 

 

1 //使用json来定义函数
2     var method = {
3         add:function(a,b){
4             return a+b;
5         }
6     }    
7     
8     method.add(3,4);

 

posted @ 2015-01-01 22:47  liuwt365  阅读(146)  评论(0编辑  收藏  举报