zoukankan      html  css  js  c++  java
  • JSON解析

    第一种方式JSON.parse

    $.ajax({
        "url":"result/json1.php",
         "type":"post",
          "success":function (data) {
          //①将JSON形式的字符串变为对象(JSON)
         var json = JSON.parse(data);
          $("h1").html(json.info);
                }
       })
    var obj = {
                  "name":"哈哈",
                  "age":12
            }
    console.log(typeof obj);
    console.log( typeof JSON.stringify(obj));

    第二种方式

    概述:eval()是系统默认的函数,是作为window对象的一个方法、因此可以省略window直接使用;

                 eval()这个函数很‘变态’;可以将字符串真的变为语义层面上的代表;

    $.ajax({
                  "url":"result/json1.php",
                   "type":"post",
                   "success":function (data) {
                     var json = eval("("+data+")");
                     console.log(typeof json);
                      $("h1").html(json.name);
                   }
            });

    eval("function fun(){console.log('我是一个函数')};fun();")

    提示:eval()可以将字符串转换为咱们语义上的代码的含义

           ②eval(‘(‘+data+’)’);

    第三种方式

    $.ajax({
                  "url":"result/json1.php",
                   "type":"post",
                   "success":function (data) {
                     var json = Function("return"+data)();
                     $("h1").html(json.ceo);
                   }
            });

    提示:JSON它是系统内置的对象、eval()它也是系统内置的函数可以将字符串转换为语义;

           Function系统内置的构造函数,我们也可以拿过来直接使用

    json练习

    result/json1.php
    <?php
      $arr = array("name"=>"百度","info"=>"上市公司","ceo"=>"老板","age"=>30);
      //将数组转换为JSON返回给前端
      print_r(json_encode($arr));
    ?>
        <h1></h1>
        <script type="text/javascript">
            $.ajax({
                   "url":"result/json1.php",
                   "type":"post",
                   "success":function (data) {
                    /* ①
                      将JSON形式的字符串变为对象(JSON)
                         var json = JSON.parse(data);
                         $("h1").html(json.info);
                         console.log(data);
                       ②
                        var json = eval("("+data+")");
                       $("h1").html(json.name);
                       console.log(typeof json);
                       console.log(json);
                       eval("function fun(){console.log('我是一个函数')};fun();")
                        ③
                       var json = Function("return"+data)();
                       $("h1").html(json.ceo);
                       console.log(json);
                     */
    
                   }
            });
        </script>
  • 相关阅读:
    聚合查询2.0
    分词器2.0
    搜索和查询2.0
    Mapping2.0
    索引的CRUD2.0
    微信小程序:一则iOS下用video播放mp4文件问题排查
    flutter——android报错Manifest merger failed : Attribute application@allowBackup value=(false)
    HTML-meta
    HTML-实体
    html-vscode-liveServer
  • 原文地址:https://www.cnblogs.com/smivico/p/7954190.html
Copyright © 2011-2022 走看看