• JSON基础知识


    JSON是什么?


    json(JavaScript Object Notation)是一种轻量级的数据交换标准。一般用于浏览器与服务器之间的数据转换。

    1. 什么是数据交换?

        将数据转换成一种标准的,与平台无关的数据格式发送给另外一方。

    2. 轻量级

        相对于xml,json解析的速度更快、并且文档的大小也要小一些。

     

    json语法


    用json表示一个对象

    { "属性名称":属性值,"属性名称":属性值 }

    注意:

    a、属性名称必须使用引号括起来。

    b、属性值的类型可以是string,number,boolean,null,object。

    c、属性值如果是字符串,必须使用引号括起来。

    function f1(){
        var obj={'name':'zs','age':22};//obj是引用类型的变量,指向一个javascript对象
        alert(obj.name);
    }
    
    function f2(){
        //address属性的属性值是一个javascript对象(object对象)
        var obj={'name':'春娇','address':{'street':'大钟寺','room':1207}};                                                                      
       alert(obj.address.room); }

    表示一个对象组成的数组

    [元素1,元素2,元素3]  json对象数组 [{...},{...},{...}]

    function f3(){
        var arr=[{'name':'zs','age':22},{'name':'lisi','age':23},{'name':'wangwu','age':22}];
        alert(arr[1].name);
        for(var i=0;i<arr.length;i++){
            alert(arr[i].name);
    }

    使用json完成数据交换


    java对象转换成json字符串

    a、引入json.jar开发包

    b、将Java对象转换json对象格式的字符串

    JSONObject  json = JSONObject.formObject(java对象);
    String  jsonStr = json.toString();

    c.、将Java对象集合转换成json对象数组格式的字符串

    JSONArray  json = JSONArray.fromObject(集合);
    String  jsonStr = json.toString();

    json字符串转换成javascript对象

    可以使用一些js框架提供的api,比如prototype提供的evalJSON函数。

    function f4(){
        var str="{'name':'zs','age':22}";
        var obj=str.evalJSON();//将json字符串转换成一个js对象
        alert(obj.name);
        var str1="[{'name':'zs','age':22},{'name':'lisi','age':23}]";
        var arr=str1.evalJSON();//json字符换转换
        alert(arr[1].name);
    }

    利用全局函数eval(string)也可以实现

    function f4(){
        var str="{'name':'zs','age':22}";
        var obj=eval("("+str+")");
        alert(obj.name);
        var str1="[{'name':'zs','age':22},{'name':'lisi','age':23}]";
        var arr=eval("("+str1+")");
        alert(arr[1].name);
    }
  • 相关阅读:
    sparql学习sparql示例、dbpedia在线验证
    中国绿卡
    逾期率的水有多深,你知道吗?
    ICO和区块链区别
    What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
    Link static data in sql source control
    sql data compare
    viewbag
    多态的实际使用
    win10 sedlauncher.exe占用cpu处理
  • 原文地址:https://www.cnblogs.com/qin-derella/p/6747708.html
Copyright © 2020-2023  润新知