zoukankan      html  css  js  c++  java
  • JSON数据格式

    JSON数据格式

    【1】json简介

    JSON全称 JavaScript Object Notation
    类似于JS中对象的创建的方法
    JSON和XML一样,都是一种表示数据的格式
    但是JSON比XML的存储和解析性能要高的多,JSON要比XML高个30%左右。

    xml格式的数据:

            <user>
                    <name>sunwukong</name>
                    <age>18</age>
                    <gender></gender>
            </user>
    json格式的数据   {"name":"孙悟空","age":8,"gender":男}
    

    【2】JSON的格式

    JSON字符串不方便阅读,但是传输性能好
    XML方便阅读,但是传输性能差
    JSON的格式和JS对象类型,但是要求属性名必须使用双引号。不能使用单引号,也不能不写引号!

    JSON对象中实际就是一组一组的键值对的结构,
    键和值使用:连接,多个键值对之间使用逗号’,’分开,注意如果是最后一组键值对,则千万不要在加,.
    {
    “属性名1”:属性值1,
    “属性名2”:属性值2,
    “属性名3”:属性值3,
    “属性名4”:属性值4
    }
    JSON运行属性值的类型:
    1.字符串
    2.数字
    3.布尔
    4.对象
    5.数组
    6.null
    数组:
    [属性1,属性2,属性3,属性4]

    json文件格式:
    这里写图片描述

    【3】JS中使用JSON

    JSON对象 –> JSON字符串
    JSON.stringify(对象)
    JSON字符串 –> JSON对象
    JSON.parse(JSON字符串)

    【4】JAVA中使用JSON

    目前Java中用的比较多的JSON解析工具:
    json-lib –> 使用麻烦,解析性能最差
    Jackson –> 使用较麻烦,解析性能最好
    Gson –> 使用简单,解析性能中能
    - Gson是谷歌出的一款JSON解析工具,使用简单,且性能较好。

        Java对象 --> JSON字符串
        JSON字符串 --> Java对象
    
            User user=new User(2, "zhangsan","1213234", "324");
            Gson gson=new Gson();
            String json = gson.toJson(user);
            System.out.println(json);
            //把Map转换成JSon字符串
            Map<String, String> map=new HashMap<>();
            map.put("username", "root");
            map.put("age", "18");
            String json2 = gson.toJson(map);
            System.out.println(json2);
            //将json字符串转换成对象
            User fromJson = gson.fromJson(json, User.class);
            System.out.println(fromJson);

    注意:不要忘记导入Gson架包


    AJAX中获取json文件后的转化

    这里写图片描述

  • 相关阅读:
    .net项目的svn Global ignore pattern
    Ionic开发中常见问题和解决方案记录
    iOS开发:mac使用svn管理项目
    iOS开发:本地数据存储-NSUserDefaults
    iOS开发:插件记录
    iOS开发:告诉git不要跟踪UserInterfaceState.xcuserstate
    发布 windows 10 universal app 时微软账号验证失败
    iOS开发:UINavigationController常用操作
    iOS开发:Swift多线程NSOperation的使用
    iOS开发:Swift多线程GCD的使用
  • 原文地址:https://www.cnblogs.com/mazhitao/p/7436726.html
Copyright © 2011-2022 走看看