json总结

1、json简介:

 json是一种轻量级的数据交换语言,以文本字符串为基础,切易于理解和阅读;

   json采用和独立于其他任何语言的一种数据交互的文本格式,是json成为理想的数据交互语言,并且可以将集合形式的数据装换成json【在使用的时候需要导入包】。

 数据的载体有xml、html、json三种,其中xml是重量级的。

2.json的作用

(1)简化创建自定义对象的方式

         json就是用js语法来书写,所以必须挡在<script>标签中,在使用js语法书写json的时候,最外层不要“”;

        首先回顾一下js的方式:

function person(id,name,sal)
{
 This.id=id;
 This.name=name;
 This.sal=sal;
}//创建一个类
Var p=new person(1,”kw”,1000);
//创建一个对象
Document.write(“编号:”+p.id+”<br/>”);
Document.write(“名字:”+p.name+”<br/>”);
Document.write(“薪水:”+p.sal+”<br/>”);
}

json的创建方式

var p = {
            id:1,
            name:"kw",
            tel:[
                    {
                        no:"183",
                        type:"移动"
                    },
                    {
                        no:"133",
                        type:"联通"
                    }
                ],
            show:function(username){
                alert("我的姓名是:" + p.name+":"+username);
            },
            isSingle:false            
        };

说明:在使用的过程中name:"kw",属性可以不加“”,但是属性值必须加“”

3.在ajax中使用json传输数据的时候,js可以直接的解析json格式的文本;

  当按照java的格式写,则需要使用eval(“”)将java转成可以使用js可以解析的文本

  如果是按照js的格式书写的,那么就不需要。

 json的数据传输给xml的html做了一个良好的补充

    // 根据省份查询城市
    public String findCityByProvinceMethod() throws Exception{
        cityList = new ArrayList<String>();
        if("陕西".equals(province)){
            cityList.add("西安");
            cityList.add("商洛");
        }else if("湖南".equals(province)){
            cityList.add("岳阳");
            cityList.add("张家界");
        }else if("广东".equals(province)){
            cityList.add("韶关");
            cityList.add("东莞");
        }
        return "ok";
    }
    //据城市查询区域
    public String findAreaByCityMethod() throws Exception{
        areaList = new ArrayList<String>();
        if("西安".equals(city)){
            areaList.add("临潼");
            areaList.add("灞桥");
        }else if("商洛".equals(city)){
            areaList.add("山阳");
            areaList.add("商州");
        }else if("岳阳".equals(city)){
            areaList.add("AA");
            areaList.add("BB");
        }else if("张家界".equals(city)){
            areaList.add("CC");
            areaList.add("DD");
        }else if("韶关".equals(city)){
            areaList.add("EE");
            areaList.add("FF");
        }else if("东莞".equals(city)){
            areaList.add("GG");
            areaList.add("HH");
        }
        return "ok";
    }
//Json使用的必须提供get,才可以在获取数据的时候,将数据获取到。
private List<String> cityList; private List<String> areaList; public List<String> getCityList() { return cityList; } public List<String> getAreaList() { return areaList; }

使用struts进行json数据 的传输,需要将继承的包改为json-default,它是struts-default的子包。

   <package name="provinceCityAreaPackage" extends="json-default " namespace="/">
           <action name="findCityByProvinceRequest" class="kw.test.provincecityarea.ProvinceCityAreaAction" method="findCityByProvinceMethod">
               <result name="ok" type="json" >
               </result>
           </action>
   </package>

需要导入struts2-json-plugin-2.3.1.1.jar包

json想要获取到值就会回去到struts控制器中的get方法,将数据拿去过来使用。

注意:

Java格式的文本是不可以用js进行解析的,必须将Java格式的文本转成js文本,使用eval(字符串)可以将数据进行转换。但是需要将变量加上圆括号才可以eval(”(“+jsonJAVA+”)”)

4.为神魔使用?

用js中,简化创建对象的方式,能够替换xml作为与ajax与服务器交换的技术,xml暂时不会被json替代,xml在做web配置信息时,非常有用,但是注解可能会替代。

5.哪儿使用?

在js中,简化创建对象,作为ajax与服务器交互的载体之一。

6.How怎样使用?

定义一个对象,定义一个数组。

 

原文地址:https://www.cnblogs.com/kw28188151/p/8276603.html