php操作JSON格式数据

原创 2012年03月30日 17:59:39

php操作JSON格式数据

知识点:

1、JSON数据格式介绍

2、对数据编码成JSON格式

3、对JSON数据进行解码,并操作

JSON数据格式表示方式如下:

{ "programmers": [

  { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

  { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },

  { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

  ],

  "authors": [

  { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

  { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },

  { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }

  ],

  "musicians": [

  { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },

  { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }

  ] }

用php将数据编码成JSON格式:

<?php  
//php中用数组表示JSON格式数据
$arr = array(  
    'firstname' => iconv('gb2312', 'utf-8', '非诚'),  
    'lastname' => iconv('gb2312', 'utf-8', '勿扰'),  
    'contact' => array(  
        'email' =>'fcwr@dibaye.com',  
        'website' =>'http://www.dibaye.com',  
    )  
);  
//将数组编码成JSON数据格式
$json_string = json_encode($arr);  
//JSON格式数据可直接输出
echo$json_string;
?>

需要指出的是,在非UTF-8编码下,中文字符将不可被encode,结果会出来空值,所以,如果你使用 gb2312编写PHP代码,那么就需要将包含中文的内容使用iconv或者mb转为UTF-8再进行json_encode。

输出:(JSON格式)

{"firstname":"\u975e\u8bda","lastname":"\u52ff\u6270","contact":{"email":"fcwr@dibaye.com","website":"http:\/\/www.dibaye.com"}}

用php对JSON数据进行解码并处理:

<?php  
//php中用数组表示JSON格式数据
$arr = array(  
    'firstname' => iconv('gb2312', 'utf-8', '非诚'),  
    'lastname' => iconv('gb2312', 'utf-8', '勿扰'),  
    'contact' => array(  
        'email' =>'fcwr@dibaye.com',  
        'website' =>'http://www.dibaye.com',  
    )  
);  
//将数组编码成JSON数据格式
$json_string = json_encode($arr);  
//将JSON格式数据进行解码,解码后不是JSON数据格式,不可用echo直接输出
$obj = json_decode($json_string);
//强制转化为数组格式
$arr = (array) $obj;
//按数组方式调用里面的数据
echoiconv('utf-8','gb2312',$arr['firstname']);  
echo '</br>';
//输出数组结构
print_r($arr);
?>

输出:

非诚
Array ( [firstname] => 闈炶瘹 [lastname] => 鍕挎壈 [contact] => stdClass Object ( [email] => fcwr@dibaye.com [website] => http://www.dibaye.com ) )

版权声明:本文为博主原创文章,未经博主允许不得转载。

php输出json格式数据的例子

json_encode当然也可以输入json字符串了,下面看几个例子。 PHP生成JSON的函数是:json_encode($PHPcode); PHP解析JSON的函数是:json_deco...
  • fyqcdbdx
  • fyqcdbdx
  • 2016年03月31日 17:03
  • 1606

php基础系列----7php操作json数据

json经常用于接口向外传递数据,而php最重要的一个用法就是作为数据接口向外传递数据;因此了解php对json数据的操作很重要;json简介 json是javascript对象; 是一种数据格式; ...
  • TYZDXY
  • TYZDXY
  • 2016年11月29日 16:35
  • 815

php查询mysql,返回json格式数据

php代码:
  • yueqinglkong
  • yueqinglkong
  • 2014年08月30日 15:21
  • 13618

jquery接收PHP传送过来的JSON格式数据以及处理。

本例使用的是YII框架。 PHP端 public function actionForlistbox(){                 $model=  SpecInfo::model()-...
  • u013718071
  • u013718071
  • 2014年03月28日 11:01
  • 2415

php JSON数据格式化方法

php 的json_encode能把数组转换为json格式的字符串。字符串没有缩进,中文会转为unicode编码,例如\u975a\u4ed4。人阅读比较困难。现在这个方法在json_encode的基...
  • fdipzone
  • fdipzone
  • 2014年06月06日 01:03
  • 57056

PHP以json或xml格式返回请求数据

PHP以json或xml格式返回请求数据
  • qq_35718410
  • qq_35718410
  • 2016年09月20日 16:38
  • 1178

php将json格式的数据直接存入mysql数据库

直接使用php函数 json_encode ,数据存入mysql时会报错: Php代码   $imgs_str = json_encode($imgs_array);   $...
  • qq_33382313
  • qq_33382313
  • 2016年06月21日 14:17
  • 1312

利用ajax实现与php(json数组)数据交互,并局部刷新页面

利用ajax实现与php数据交互,并局部刷新页面 本文主要有以下几个要点: ajax的基本语法结构jQuery基本语法json数组基本结构ajax回调函数中的json数组解析及局部刷新php基本语...
  • haibo0668
  • haibo0668
  • 2016年09月22日 12:08
  • 3623

【PHP】 php 如何操作json格式数据

Javascript 中可以用{}表示一个对象,用[]表示一个数组,如: var obj={“a”:”v”,”b”:”x”};//这表示变量obj是一个对象,它有两个属性:a和b,属性值分别是:v和...
  • u010340022
  • u010340022
  • 2015年01月19日 16:20
  • 315

JAVA操作JSON格式数据

json开发工具包,用于Java对象和Json字符串之间的转换; json开发工具包一共有3个jar:ezmorph-1.0.6.jar,json-lib-2.2.3-jdk13.jar和morph-...
  • hu1991die
  • hu1991die
  • 2015年01月27日 18:29
  • 2722
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php操作JSON格式数据
举报原因:
原因补充:

(最多只允许输入30个字)