博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php操作JSON格式数据
阅读量:6458 次
发布时间:2019-06-23

本文共 1948 字,大约阅读时间需要 6 分钟。

知识点:

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格式:

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数据进行解码并处理:

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; //按数组方式调用里面的数据 echo iconv('utf-8','gb2312',$arr['firstname']); echo '
'; //输出数组结构 print_r($arr); ?>

输出:

非诚

Array ( [firstname] => 闈炶瘹 [lastname] => 鍕挎壈 [contact] => stdClass Object ( [email] => fcwr@dibaye.com [website] => http://www.dibaye.com ) )
推荐一个自己业余时间开发的引擎,()

转载地址:http://ecizo.baihongyu.com/

你可能感兴趣的文章
完美字符串
查看>>
我为什么要写LeetCode的博客?
查看>>
zoom和transform:scale的区别
查看>>
Plplot中line width 问题
查看>>
js中(function(){…})()立即执行函数写法理解
查看>>
QQ空间Python爬虫(2)---分析json
查看>>
NEU OJ 1651 Great number
查看>>
VSCode + PYQT5 + QtDesigner 环境搭建和测试
查看>>
The process could not execute 'sp_MSadd_replcmds'错误解决方案
查看>>
runas /user:administrator cmd 以管理员身份运行CMD
查看>>
配置tomcat允许跨域访问,cors跨域资源共享
查看>>
基本数据结构:链表(list)
查看>>
[LUOGU] P3275 [SCOI2011]糖果
查看>>
[LUOGU] P3469 [POI2008]BLO-Blockade
查看>>
非结构化数据与结构化数据提取---- 案例:使用bs4的爬虫
查看>>
二分图匹配
查看>>
三层架构dal 层基本代码 非查询/查询
查看>>
CSS制作三角形和按钮
查看>>
java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)
查看>>
Python学习心得!
查看>>