PHP中使用json数据格式定义字面量对象的方法
PHPer都知道PHP是不支持字面量了,至少目前版本都不支持。比如,在JS中可以这样定义object
var o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' };
alert(o.name);
Python中定义字典,也可以这样定义:
o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' }
print o['name']
但在PHP中这么定义object:
$a = { "name" : "qttc", "url" : "www.jb51.net" };
会报错:
[root@lee www]# php a.php
PHP Parse error: syntax error, unexpected '{' in /data0/htdocs/www/a.php on line 4
我们可以借用json格式,用引号把包下然后再json_decoude就好。
$a = '{ "name" : "qttc", "url" : "www.jb51.net" }';
$a = json_decode($a);
print_r($a);
执行结果:
[root@lee www]# php a.php
stdClass Object
(
[name] => qttc
[url] => www.jb51.net
)
由于PHP不支持字面量or匿名函数,所以使用以上定义的方法定义object时不能添加function到object里,还可以这样添加数组元素:
$a = '{ "name" : "qttc", "url" : "www.jb51.net" , "arr":["zhangsan","lisi"] }';
$a = json_decode($a);
print_r($a);
执行结果:
[root@lee www]# php a.php
stdClass Object
(
[name] => qttc
[url] => www.jb51.net
[arr] => Array
(
[0] => zhangsan
[1] => lisi
)
)
相关推荐
-
PHP判断json格式是否正确的实现代码
废话不多说了,直接给大家贴代码了,具体代码如下所示: <?php $GLOBALS['count'] = 0; //校验data或者content的json格式是否有错误 function data($value) { if (isset($value['data'])) { $value['data'] = json_decode($value['data'], true); } else if (isset($value['content'])) { $value['content'] =
-
PHP生成json和xml类型接口数据格式
php生成接口通信数据 /** * 生成接口数据格式 */ class Response{ /** * [show 按综合方式输出数据] * @param [int] $code [状态码] * @param [string] $message [提示信息] * @param array $data [数据] * @param [string] $type [类型] * @return [string] [返回值] */ public static function show($code, $m
-
解析PHP 使用curl提交json格式数据
复制代码 代码如下: $data = array("name" => "Hagrid", "age" => "36");$data_string = json_encode($data); $ch = curl_init('http://api.local/rest/users');curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_seto
-
PHP中把数据库查询结果输出为json格式简单实例
include/conn.php为数据库链接文件,不会的网上搜索 <?php include './include/conn.php'; //数据库链接文件 $sql_notice = mysql_query('SELECT * FROM gg_notice where enable = "1" limit 0,10'); $notice = mysql_fetch_array($sql_notice, MYSQL_ASSOC); print_r ($notice); ?>
-
php判断是否为json格式的方法
首先要记住json_encode返回的是字符串, 而json_decode返回的是对象 判断数据不是JSON格式: 复制代码 代码如下: function is_not_json($str){ return is_null(json_decode($str)); } 判断数据是合法的json数据: (PHP版本大于5.3) 复制代码 代码如下: function is_json($string) { www.jb51.net json_decode($string); return
-
PHP的serialize序列化数据以及JSON格式化数据分析
PHP的serialize是将变量序列化,返回一个具有变量类型和结构的字符串表达式,而JSON则是一种更轻.更友好的用于接口(AJAX.REST等)数据交换的格式. 其实两者都是以一种字符串的方式来体现一种数据结构.那么他们之间又有什么区别呢? serialize序列化 我们在一些老的WEB系统中可能会看到在数据库或在文本文件中存储着一大串貌似有着特殊含义的字符串文本内容.我们仔细看会发现它具有数据类型和结构等信息,但是它并不容易人工阅读,它只适合PHP程序读取.PHP的serialize将数组
-
PHP数据集构建JSON格式及新数组的方法
自己写了个PHP结果集转换成JSON格式的函数,可以直接调用: 复制代码 代码如下: function RecordToJson($recordset) { $jstr='['; while($rs = $recordset->Fetch()) { //$nick = iconv("GBK",'utf-8',$rs['nick']);/*转换为utf-8编码*/ //TODO:遍历结果集 $arr_keys=array_keys($rs); $jstr=$jstr.'{'; fo
-
PHP JSON格式的中文显示问题解决方法
返回json数据中文显示的问题 上一篇文章中,返回json格式的中文显示成\u5723\u8bde\u8282\u5343\u4e07\u597d\u793c\u5927\u5949\u9001 解决方法一: 复制代码 代码如下: <?php function Notice(){ include './include/conn.php'; //数据库链接文件 $sql_notice = mysql_query('SELECT * FROM gg_notice where ena
-
php数组转成json格式的方法
本文实例讲述了php数组转成json格式的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: function array_to_json( $array ){ if( !is_array( $array ) ){ return false; } $associative = count( array_diff( array_keys($array), array_keys( array_keys( $array )) )); i
-
PHP中使用json数据格式定义字面量对象的方法
PHPer都知道PHP是不支持字面量了,至少目前版本都不支持.比如,在JS中可以这样定义object 复制代码 代码如下: var o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' }; alert(o.name); Python中定义字典,也可以这样定义: 复制代码 代码如下: o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' } print o['name'] 但在PHP中这么定义object: 复制代码
-
struts2中通过json传值解决乱码问题的实现方法
本文实例讲述了struts2中通过json传值解决乱码问题的实现方法.分享给大家供大家参考,具体如下: 在struts2中如果使用json在jsp和java文件传中文值时往往会出现中文乱码访问,解决此问题可以使用以下方法 一.在js文件中使用 encodeURI来编码,例子: var url = "orderPrint.action?roomName="+encodeURI(encodeUR(roomName)); $.post(url,function(data){ } 二.在jav
-
ES6中定义类和对象的方法示例
本文实例讲述了ES6中定义类和对象的方法.分享给大家供大家参考,具体如下: 类的基本定义和生成实例: // 类的基本定义和生成实例 class Parent{ //定义一个类 constructor(name='xiaxaioxian'){ this.name= name; } } // 生成一个实例 let g_parent = new Parent(); console.log(g_parent); //{name: "xiaxaioxian"} let v_parent = ne
-
JavaScript定义类和对象的方法
本文实例讲述了JavaScript定义类和对象的方法.分享给大家供大家参考.具体方法如下: 在JS中,类和对象有多种不同的写法,因为本人对JS也不怎么熟,所以就本人的理解来写,如果哪位朋友发现有不对,请告之,共同学习. JS定义一个类有两种定法(我只知道这两种): 1. 定义函数的方式: 定义: 复制代码 代码如下: function classA(a) { this.aaa=a; //添加一个属性 this.methodA=function(ppp) //添加一个方法
-
将JSON字符串转换成Map对象的方法
页面向后台action传递一个json字符串,需要将json字符串转换成Map对象 public Map<String, String> toMap(Object object) { Map<String, String> data = new HashMap<String, String>(); // 将json字符串转换成jsonObject JSONObject jsonObject = JSONObject.fromObject(object); Iterato
-
在Python中通过threading模块定义和调用线程的方法
定义线程 最简单的方法:使用target指定线程要执行的目标函数,再使用start()启动. 语法: class threading.Thread(group=None, target=None, name=None, args=(), kwargs={}) group恒为None,保留未来使用.target为要执行的函数名.name为线程名,默认为Thread-N,通常使用默认即可.但服务器端程序线程功能不同时,建议命名. #!/usr/bin/env python3 # coding=utf
-
JS中判断JSON数据是否存在某字段的方法
如何判断传过来的JSON数据中,某个字段是否存在, 1.obj["key"] != undefined 这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了. 2.!("key" in obj) 3.obj.hasOwnProperty("key") 这两种方法就比较好了,推荐使用. 答案原文: Actually, checking for undefined-ness is not an accurat
-
Java中使用json与前台Ajax数据交互的方法
本文主要为大家分享了Ajax获取显示Json数据的一种方法,供大家参考,具体内容如下 1.首先前台用Ajax,其中注意dataType一定要选择json方式,Action成功返回给页面的Json内容是这样的[{"number":"V006","names":"LiLei"}],可见comment['names']对应"names":"LiLei",comment['number']对
-
js将json格式内容转换成对象的方法
复制代码 代码如下: {"options":"[{\"text\":\"王家湾\",\"value\":\"9\"},{\"text\":\"李家湾\",\"valu e\":\"10\"},{\"text\":\"邵家湾\",\"value\":\"
-
AJAX中同时发送多个请求XMLHttpRequest对象处理方法
在ajax应用中,通常一个页面要同时发送多个请求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的XMLHttpRequest对象,也会造成浪费.解决的办法就是创建一个XMLHttpRequset的对象池,如果池里有空闲的对象,则使用此对象,否则将创建一个新的对象. 下面是我最近写的一个简单的类:* XMLHttpRequest Object Pool * * @author legend <legendsky@hotmai
随机推荐
- sqlserver数据库迁移后,孤立账号解决办法
- 微信小程序 获取微信OpenId详解及实例代码
- XP系统最强的启动提速技巧
- oracle 优化的一点体会
- asp.net如何将DataSet转换成josn并输出
- 解析PHP自带的进位制之间的转换函数
- Android设置闹钟相对完善的解决方案
- node.js中的querystring.unescape方法使用说明
- js实现点击文本框显示日期选择器特效代码分享
- NET LOCALGROUP命令详解(将用户添加到管理员组等)
- 详解强大的jQuery选择器之基本选择器、层次选择器
- jquery自定义类似$.ajax()的方法实现代码
- 举例说明如何为JavaScript的方法参数设置默认值
- Android 中IntentFilter的匹配规则实例详解
- Laravel 5.3 学习笔记之 错误&日志
- python的变量与赋值详细分析
- vue2.0 和 animate.css的结合使用
- 简单理解Vue中的nextTick方法
- 深入剖析Express cookie-parser中间件实现示例
- 详解node Async/Await 更好的异步编程解决方案