zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    POJ 1797 Heavy Transportation
    洛谷 P3379 【模板】最近公共祖先(LCA)
    洛谷 P1351 联合权值
    51nod 1272 最大距离
    codevs 1664 清凉冷水
    COGS 1176. [郑州101中学] 月考
    HDU
    HDU
    一坨计算几何的板子
    bzoj2618[Cqoi2006]凸多边形
  • 原文地址:https://www.cnblogs.com/qin-derella/p/6747708.html
Copyright © 2011-2022 走看看