<?php

 //php中生成json信息
//json_encode(数组/对象) $color = array('red','blue','green'); //【索引数组】
echo json_encode($color),"<br />"; //["red","blue","green"] $animal = array('east'=>'tiger','north'=>'wolf','south'=>'monkey'); //【关联数组】
echo json_encode($animal),"<br />";//{"east":"tiger","north":"wolf","south":"monkey"} //【索引关联数组】
$animal2 = array('east'=>'tiger','north'=>'wolf','duck','south'=>'monkey');
echo json_encode($animal2),"<br />";//{"east":"tiger","north":"wolf","0":"duck","south":"monkey"} //[{},{},{}]
//{"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"}}
//{名称:[],名称:[],名称:[]} //【对象生成json信息】
class Person{
public $addr = "beijing";
public $height = 170;
public function study(){
echo "study php";
}
}
$tom = new Person();
//只是对象的属性给生成json信息
echo json_encode($tom);//{"addr":"beijing","height":170}

1.json

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

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

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

2. javascript接收处理json信息

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

代码如下:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>新建网页</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" /> <script type="text/javascript">
function showweather(){
//利用ajax获得天气预报信息
//利用javascript+dom处理并显示天气信息
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState==4){
//alert(xhr.responseText);
console.log(typeof xhr.responseText);//string
//要把接收的“字符串”变为“对象”
//'{"addr":"\u5317\u4eac","temp":"9-22","wind":"north4-5"}'
eval("var info="+xhr.responseText); var str = "地址:"+info.addr+";温度:"+info.temp+";风向:"+info.wind;
document.getElementById('result').innerHTML = str;
}
}
xhr.open('get','./03.php');
xhr.send(null);
}
window.onload = function(){
showweather();
} // //s字符串变为对象obj
// var s = "{name:'tom',height:170}";
// //"var obj="+"{name:'tom',height:170}"====>"var obj={name:'tom',height:170}"
// //console.log("var obj="+s);
// eval("var obj="+s);
// console.log(obj);//Object { name="tom", height=170} </script> <style type="text/css">
</style>
</head>
<body>
<h2>获得天气预报接口信息</h2>
<div id="result"></div>
</body>
</html>

PHP中生成json信息的方法的更多相关文章

  1. Android开发过程中在sh,py,mk文件中添加log信息的方法

    Android开发过程中在sh,py,mk文件中添加log信息的方法 在sh文件中: echo "this is a log info" + $info 在py文件中: print ...

  2. Flask Response响应(flask中设置响应信息的方法,返回json数据的方法)

    设置响应信息的方法 1.  返回自定义的响应头,有两种方式: (1)  第一种是:视图函数return的时候,使用元组,返回自定义的信息 返回的时候的状态码可以自定义信息:"状态码   自定 ...

  3. 在SQL 中生成JSON数据

    这段时间接手一个数据操作记录的功能,刚拿到手上的时候打算用EF做,后来经过仔细考虑最后还是觉定放弃,最后思考再三决定: 1.以模块为单位分表.列固定(其实可以所有的操作记录都放到同一个表,但是考虑到数 ...

  4. 在RestController中获取各种信息的方法

    内容 获取方法 URL中路径的一部分 首先需要在RequestMapping做映射, 之后在方法中可以通过注解使用映射的变量@GetMapping("/{id}")public S ...

  5. java 中关于json的使用方法

    json在数据传输起了很大的作用,下面说说java中json的使用方法. 文章参考:http://www.codes51.com/article/detail_99574.html json串示例 [ ...

  6. oracle中生成大批量数据的方法-下

    方法五:使用PLSQL的数据生成器 首先测试环境建立:dept表 CREATE TABLE dept(deptno NUMBER(6),dname VARCHAR2(20),loc VARCHAR2( ...

  7. PHP-PHP5.3及以上版本中检查json格式的方法

    function is_json($string) { json_decode($string); return (json_last_error() == JSON_ERROR_NONE); } j ...

  8. 生成JSON数据--官方方法

    官方生成方法: 1)需要什么就给什么,要属性就给属性,要对象就给对象,要集合就给集合 2)添加都是使用put()方法 要求: 1.生成如下JSON数据: {"age":4,&quo ...

  9. Java中生成随机字符的方法总结

    package learnExercise; public class RandomCharacter { public static char getRandomCharacter(char ch1 ...

随机推荐

  1. aircack-ng抓握手包

    1.关闭影响进程 airmon-ng check kill 将要进入监听模式的无线网卡断开它已连接的AP 2.查看无线网卡的名字 ifconfig ,例如 wlan0 3.进入监听模式: airmon ...

  2. plain framework 1 参考手册 入门指引之 代码风格

    代码风格 介绍 介绍 框架自身采用了google的C++风格,作者也鼓励在你的应用中使用此风格,有关此风格你可以查阅相关资料了解.下面是一段plain framework中的代码,以便大家参考: 你可 ...

  3. 【Unity3d】Ray射线初探-射线的原理及用法

    http://www.xiaobao1993.com/231.html 射线是一个无穷的线,开始于origin并沿着direction方向. 当射线碰到物体后.它就会停止发射. 在屏幕中拉一个CUBE ...

  4. android:TableLayout表格布局详解

    1.TableLayout简介2.TableLayout行列数的确定3.TableLayout可设置的属性详解4.一个包含4个TableLayout布局的实例及效果图一.Tablelayout简介  ...

  5. java接口(二)

    1.广义的接口,凡是对外暴露的都可以称作接口. 就像电脑的usb插口. 2.什么时候用接口,什么时候用类? . 3.例子 4.问题:

  6. Net中HttpClient 重试

    /// <summary>         /// 重试         /// </summary>         public class RetryHandler : ...

  7. Docker简明教程(以安装wget程序为例)

    本文计划: 一.安装Docker(Centos) 二.注册Docker官网帐号 三.下载基础centos镜像,安装需要的软件和环境后,push到自己的repository 一.安装Docker(Cen ...

  8. 【MVC】自定义Scaffold Template

    MVC提供了基本的CRUD Scaffold Template模板,创建视图的时候,只要勾选创建一个强类型视图 , 并选择模型类,就可以选择支架模板了,这些模板包括List,Detail,Create ...

  9. 安装Docker Toolbox后出现的问题

    Installing Docker Toolbox on Windows with Hyper-V Installed Installing Docker on Windows is a fairly ...

  10. distributed caching for .net applications

    distributed caching for .net applications fast, scalable distributed caching with meaningful perform ...