• Json数据的学习


    JSON 教程  

    <body>
    <h2>JSON Object Creation in JavaScript</h2>

    <p>
    Name: <span id="jname"></span><br /> 
    Age: <span id="jage"></span><br /> 
    Address: <span id="jstreet"></span><br /> 
    Phone: <span id="jphone"></span><br /> 
    </p>

    <script>
    var JSONObject= {
    "name":"John Johnson",
    "street":"Oslo West 555", 
    "age":33,
    "phone":"555 1234567"};
    document.getElementById("jname").innerHTML=JSONObject.name 
    document.getElementById("jage").innerHTML=JSONObject.age 
    document.getElementById("jstreet").innerHTML=JSONObject.street 
    document.getElementById("jphone").innerHTML=JSONObject.phone 
    </script>

    </body>
    JSON数据的访问格式为  JOSNNAME.JSONDATA

     

    JSON 语法是 JavaScript 对象表示法语法的子集。

    • 数据在名称/值对中
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数组

    JSON 名称/值对

    JSON 数据的书写格式是:名称/值对。

    名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

    "firstName" : "John"

    这很容易理解,等价于这条 JavaScript 语句:

    firstName = "John"

     

    JSON 值

    JSON 值可以是:

    • 数字(整数或浮点数)
    • 字符串(在双引号中)
    • 逻辑值(true 或 false)
    • 数组(在方括号中)
    • 对象(在花括号中)
    • null

    JSON 对象

    JSON 对象在花括号中书写:

    对象可以包含多个名称/值对:

    { "firstName":"John" , "lastName":"Doe" }

    这一点也容易理解,与这条 JavaScript 语句等价:

    firstName = "John"
    lastName = "Doe"

    JSON 数组

    JSON 数组在方括号中书写:

    数组可包含多个对象:

    {
    "employees": [
    { "firstName":"John" , "lastName":"Doe" }, 
    { "firstName":"Anna" , "lastName":"Smith" }, 
    { "firstName":"Peter" , "lastName":"Jones" }
    ]
    }

    在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。

    JSON 使用 JavaScript 语法

    因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

    通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

    实例

    var employees = [
    { "firstName":"John" , "lastName":"Doe" }, 
    { "firstName":"Anna" , "lastName":"Smith" }, 
    { "firstName":"Peter" , "lastName": "Jones" }
    ];

    可以像这样访问 JavaScript 对象数组中的第一项:

    employees[0].lastName;

    返回的内容是:

    Doe

    可以像这样修改数据:

    employees[0].firstName = "Jonatan";

    JSON 文件

    • JSON 文件的文件类型是 ".json"
    • JSON 文本的 MIME 类型是 "application/json"

    PHP操作JSON

    php5.2.0 及以上版本已经内置 JSON 扩展。

    JSON 函数

    函数

    描述

    json_encode

    对变量进行 JSON 编码

    json_decode

    对 JSON 格式的字符串进行解码,转换为 PHP 变量

    json_last_error

    返回最后发生的错误

    json_encode

    PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。

    语法

    string json_encode ( $value [, $options = 0 ] )

    参数

    • value: 要编码的值。该函数只对 UTF-8 编码的数据有效。
    • options:由以下常量组成的二进制掩码:太乱不记了

    以下实例演示了如何将 PHP 数组转换为 JSON 格式数据:

    <?php

       $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

       echo json_encode($arr);?>

    以上代码执行结果为:

    {"a":1,"b":2,"c":3,"d":4,"e":5}

    以下实例演示了如何将 PHP 对象转换为 JSON 格式数据:

    <?php

       class Emp {

           public $name = "";

           public $hobbies  = "";

           public $birthdate = "";

       }

       $e = new Emp();

       $e->name = "sachin";

       $e->hobbies  = "sports";

       $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");

       $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));

     

       echo json_encode($e);?>

    以上代码执行结果为:

    {"name":"sachin","hobbies":"sports","birthdate":"08/05/1974 12:20:03 pm"}

    json_decode

    PHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。

    语法

    mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

    参数

    json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据

    assoc: 当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。

    depth: 整数类型的参数,它指定递归深度

    options: 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 。

    PHP写入和读取JSON文件

    <?php
        //生成一个PHP数组 假装从前端或者其他地方拿来的数据

        $data = array();
        $data['name'] = 'test1';
        $data['work'] = 'process';
        $data['purpose'] = 'json';

        //json_encode — 对变量进行 JSON 编码 待编码的 value ,除了resource 类型之外,可以为任何数据类型

        //该函数只能接受 UTF-8 编码的数据(译注:指字符/字符串类型的数据)
        //编码成功则返回一个以 JSON 形式表示的 string 。
        //首先将数组转换成JSON
        $json_string = json_encode($data);

        //写入文件
        file_put_contents('test.json',$json_string);

    <?php
        //从文件中读取数据,以字符串形式到PHP中
        $json_string = file_get_contents('test.json');

        //json_decode — 对 JSON 格式的字符串进行解码
        //mixed json_decode ( string $json [, bool $assoc ] )
        //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
        //$assoc当该参数为 TRUE 时,将返回 array 而非 object 。
        //把JSON字符串转成PHP数组
        $data = json_decode($json_string,true);
        var_dump($data);

  • 相关阅读:
    如何设计一个安全的对外接口?
    Java架构师必须知道的 6 大设计原则
    Spring Boot 如何快速改造老项目?
    Java 类中可以覆盖静态方法吗?
    Dubbo 的心跳设计,值得学习!
    在滴滴和头条干了 2 年后端开发,太真实…
    别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
    3种骚操作,教你查看 Java 字节码!
    sysbench测试服务器性能
    mysql DDL时出现的锁等待状态
  • 原文地址:https://www.cnblogs.com/zhouqi666/p/5978025.html
Copyright © 2020-2023  润新知