PHP中生成json信息的方法

PHP中生成json信息的方法

大家好,又见面了,我是全栈君。

 1 <?php
 2 
 3 //php中生成json信息
 4 //json_encode(数组/对象)
 5 
 6 $color = array('red','blue','green'); //【索引数组】
 7 echo json_encode($color),"<br />"; //["red","blue","green"]
 8 
 9 $animal = array('east'=>'tiger','north'=>'wolf','south'=>'monkey'); //【关联数组】
10 echo json_encode($animal),"<br />";//{"east":"tiger","north":"wolf","south":"monkey"}
11 
12 //【索引关联数组】
13 $animal2 = array('east'=>'tiger','north'=>'wolf','duck','south'=>'monkey');
14 echo json_encode($animal2),"<br />";//{"east":"tiger","north":"wolf","0":"duck","south":"monkey"}
15 
16 //[{},{},{}]
17 //{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"9","WD":"南风","WS":"2级","SD":"26%","WSE":"2","time":"10:20","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1014"}}
18 //{名称:[],名称:[],名称:[]}
19 
20 
21 //【对象生成json信息】
22 class Person{
23     public $addr = "beijing";
24     public $height = 170;
25     public function study(){
26         echo "study php";
27     }
28 }
29 $tom = new Person();
30 //只是对象的属性给生成json信息
31 echo json_encode($tom);//{"addr":"beijing","height":170}

1.json

json_encode(数组/对象)————>生成json信息,

json_decode(json信息); 反编码json信息

对json字符串信息进行反编码,变为当前语言可以识别的信息。

2. javascript接收处理json信息

通过eval()把接收的json字符串变成真实的对象信息

代码如下:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 2 <html>
 3     <head>
 4         <title>新建网页</title>
 5         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6         <meta name="description" content="" />
 7         <meta name="keywords" content="" />
 8 
 9         <script type="text/javascript">
10         function showweather(){
11             //利用ajax获得天气预报信息
12             //利用javascript+dom处理并显示天气信息
13             var xhr = new XMLHttpRequest();
14             xhr.onreadystatechange = function(){
15                 if(xhr.readyState==4){
16                     //alert(xhr.responseText);
17                     console.log(typeof xhr.responseText);//string
18                     //要把接收的“字符串”变为“对象”
19                     //'{"addr":"\u5317\u4eac","temp":"9-22","wind":"north4-5"}'
20                     eval("var info="+xhr.responseText);
21 
22                     var str = "地址:"+info.addr+";温度:"+info.temp+";风向:"+info.wind;
23                     document.getElementById('result').innerHTML = str;
24                 }
25             }
26             xhr.open('get','./03.php');
27             xhr.send(null);
28         }
29         window.onload = function(){
30             showweather();
31         }
32         
33 //        //s字符串变为对象obj
34 //         var s = "{name:'tom',height:170}";
35 //        //"var obj="+"{name:'tom',height:170}"====>"var obj={name:'tom',height:170}"
36 //        //console.log("var obj="+s);  
37 //        eval("var obj="+s);
38 //        console.log(obj);//Object { name="tom", height=170}
39 
40         </script>
41 
42         <style type="text/css">
43         </style>
44     </head>
45     <body>
46         <h2>获得天气预报接口信息</h2>
47         <div id="result"></div>
48     </body>
49 </html>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108852.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月21日 下午4:00
下一篇 2022年2月21日 下午4:00


相关推荐

  • NOIP-铺地毯_zamani地毯

    NOIP-铺地毯_zamani地毯NOIP-铺地毯

    2022年4月21日
    43
  • 局域网城域网广域网和互联网的区别_局域网的互联设备有哪些

    局域网城域网广域网和互联网的区别_局域网的互联设备有哪些网络按照其所覆盖的地区范围分为以下四类(简要介绍): 1.局域网2.城域网3.广域网4.互联网  一.局域网 当一个单位需要将位于某个范围有限,行政可控的区域内的大量联网设备通过一种高速的方式相互连接起来,就需要通过组建一个局域网让这些设备实现相互通信(范围有限可以是一所高校,一个餐厅,一个家庭等) 局域网具有以下特点1.范围有限2.行政可控3.速率高4.安全性高 …

    2022年10月10日
    4
  • java eventbus 原理_EventBus原理

    java eventbus 原理_EventBus原理EventBus 实现了观察者模式 使用方法非常简单 可参考 有用的 Guava 二 这篇文章主要讲解 EventBus 的实现原理 一言以蔽之 EventBus 内部有一个 map 当 register 时往 map 中增加一个元素 key 为事件的类型 value 为观察者 post 时根据事件类型找到观察者之后 对其反射调用 下面我们从 register 方法开始 publicvoidre Object

    2026年3月19日
    2
  • 如何安装打印机_vs2010旗舰版安装教程

    如何安装打印机_vs2010旗舰版安装教程按照默认安装vs2005sp1,往往不会成功。需要做如下设置.1.运行secpol.msc2.在左边栏,右键“软件限制策略”,新建3.双击右边栏中的强制,选择“除本地管理员以外的所有用户”如上设置后,再安装vs2005sp1即可成功安装。 …

    2022年10月6日
    6
  • oracle 11g安装时未能满足某些最低安装要求

    oracle 11g安装时未能满足某些最低安装要求本文是转载文章,文章的来源:csdn博客博主:huazicomeon文章:oracle11g安装时未能满足某些最低安装要求博文地址:https://blog.csdn.net/huazicomeon/article/details/53337849失败描述:Oracle安装包在"先决条件检查"步骤报告"未能满足某些最低安装要求。请复查并修复下表中列出的问题,然后重新检查系统。"并在安装界面下方…

    2022年7月25日
    18
  • awk编程实战「建议收藏」

    awk编程实战「建议收藏」关于linux学习中awk的基本知识参考:linux文本编辑之awkawk分析拟南芥gff文件下载拟南芥gff文件curl-Oftp://ftp.arabidopsis.org/home/tair/Genes/TAIR10_genome_release/TAIR10_gff3/TAIR10_GFF3_genes.gff我们可以先来查看一下gff格式是什么样子的les…

    2022年7月15日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号