phpjson嵌套
⑴ php数组嵌套问题
前面的问题既然找到了就不再赘述,我是直接看你最后一个问题的。
如何将带有中文的二维数组 转化为JSON输出呢?
使用JSON作为提交和接收的数据格式时字符都采用UTF8编码处理,当我们的页面编码和数据库编码不是采用UTF8的时候,就极容易出现中文乱码的问题。解决办法自然是在用js或者PHP处理JSON数据的时候都采用UTF8的形式
$data="JSON中文";
$newData=iconv("GB2312","UTF-8//IGNORE",$data); //转utf8
//ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符都不会被保存。
⑵ PHP json多维数组追加数组怎么写
首先你需要把json转码为php可操作的数组类型(Array),
再进行追加数据.
$data = '{"msg":"200","名单":[{"名字":"小明"}]}';
$data =
json_decode
($data, true); // 转码为数组
$data['名单'][] = ['名字' => '新数据']; // 追加数据
// 或者:
array_push
($data['名单'], ['名字' => '新数据']);
$data =
json_encode
($data); // 重新转码为JSON字符串
⑶ PHP JSON格式数据交互实例代码详解
在PHP中解析JSON主要用到json_encode和json_decode两个PHP
JSON函数,比PHP解析XML方便很多,下面详细介绍下PHP
JSON的使用。
JSON基础介绍
JSON(javaScript
Object
Notation)
是一种轻量级的数据交换格式。
JSON主要有两种结构:
“名称/值”对的集合,在PHP中可以理解为关联数组
(associative
array)。
值的有序列表(An
ordered
list
of
values)。在PHP中可以理解为普通数组(array)。
对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值'
对”之间使用“,”(逗号)分隔。
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、
null、对象(object)或者数组(array)。这些结构可以嵌套。
我目前对JSON的理解更偏向于数组,类似于PHP中的关联数组,你可以将PHP数组转换为JSON格式。
更多JSON的介绍请参考JSON官网和IBM关于JSON的介绍
PHP
JSON解析实例
PHP5.2开始已经将JSON作为PHP扩展的一部分,所以并不需要另外安装JSON。另外为了保证下面的PHP
JSON实例不出现中文乱码,请保证你的编码格式为UTF8。
JSON是Javascript的一部分,首先我们看下Javascript中如何定义JSON
复制代码
代码如下:
var
json_obj
=
{'WebName':'PHP网站开发教程网'};
alert(json_obj.WebName);
var
json_arr
=[{'WebName':'PHP网站开发教程网','WebSite':'http://www.jb51.net'},{'ArtTitle':'PHP
JSON实例讲解'}]
alert(json_arr[1].ArtTitle);
var
php_json
=
[['PHP网站开发教程网','http://www.jb51.net'],['文章标题','PHP
JSON实例讲解']];
alert(php_json[1][0]);
在这段JSON实例代码中我构建了所有的JSON形式,
第1行,定义了JSON以对象形式存在
第4行,定义了JSON以数组形式存在,嵌套了JSON对象,所以有点类似于PHP的关联数组,其实仍然是对象。
第7行,定了JSON以普通数组形式存在。
注意:由于Javascript是区分大小写的,所以访问JSON关联数组对象时注意key的大小写问题。
PHP与JSON格式数据交互时,第一步需要将PHP数组转换为JSON格式的数据,可使用PHP5自带的json_encode函数,当PHP解析传递过来的JSON格式数据时需要使用json_decode函数进行解析转换为PHP数组,PHP转换并解析JSON数据的实例代码如下
复制代码
代码如下:
<?php
$json_arr
=
array('WebName'=>'PHP网站开发教程网','WebSite'=>'http://www.jb51.net');
$php_json
=
json_encode($json_arr);
echo
$php_json;
$php_json
=
json_decode($php_json);
print_r($php_json);
?>
说明:这里通过PHP定义了关联数组,然后通过json_encode转换为JSON格式的数据,通过echo语句可以看到转换后的JSON对象,通过PHP
JSON解析函数json_decode可以将JSON格式的数据解析为PHP的关联数组。如果编码不正确,JSON中文会出现乱码。如果你使用Editplus调试PHP,请注意保存文件时编码将ANSI改为UTF8。
最后我们来看下完整的PHP
JSON交互实例
复制代码
代码如下:
<?php
$json_arr
=
array('WebName'=>'PHP网站开发教程网','WebSite'=>'http://www.jb51.net');
$php_json
=
json_encode($json_arr);
?>
<script
type="text/javascript">
var
php_json
=
<?=$php_json?>;
</script>
<script
type="text/javascript">
function
php_json_dis(php_json)
{
alert(php_json.WebName);
alert(php_json.WebSite);
}
php_json_dis(php_json);
</script>
至此,PHP通过json_encode和json_decode函数对JSON格式数据进行转换和解析的实例就介绍完了。
⑷ PHP中foreach嵌套循环输出数组代码
以下是编写json数据转换成数组时写foreach嵌套循环输出的代码:
<?php
$json = '[{"a":1,"b":2,"c":3,"d":4,"e":5},{"a":12,"b":22,"c":32,"d":42,"e":52},{"a":13,"b":23,"c":33,"d":43,"e":53}]';
$arr = (array) json_decode($json,true);
foreach($arr as $arrvalue)
{
foreach($arrvalue as $key=>$value)
{
echo "[$key] = $value <br />";
}
}
?>
⑸ php处理微信小程序request请求
微信小程序的js后台只能执行一些简单的逻辑,遇到比较复杂的处理表单数据的功能或者网络功能就需要连接服务器来远程处理,实现方式历漏饥就是调用小程序的 wx.request() 这一接口。
request请求 就是基本的HTTP请求,可以携带一些表单数据,交给服务器处理。
在小程序中的写法如下:
采用php作为服务器端语言,通过WAMP等框架可以很容易地搭建环境,服务器主搜毕要完成对请求数据的处理以及结果数据的返回。
请求数据的获取非常容易,直接访问相应的超全局数组,对于GET方法而言,通过下面的方式即可:
为了方便小程序端数据的处理,结果数据仍通过json格式返回,具体在php中的简单做法就是
这样返回的json数据就为
其中value1,value2等变量可以设置为多维数组,这样通过json_encode() 函数之后就可以得到相应的嵌套的json数据,从而方便处理。
通过php可以很容易地处理微信小程序的request请求,笔者是由于前一段时间需要进行微信小程序的开发,就研究了一下小程序的逻辑,然后尝试用php进行服务端处理,对于简单的请求处理起来肢返觉得还不错,这篇文章可以作为初次接触微信小程序的一个参考。
⑹ PHP中将两个json合并成一个json,求大神帮忙
先把两个json字符串都变成PHP的数组,这样两个数组可以用 PHP的array_merge来合并。
合并完了之后的数组再用一下PHP的json_encode就得到你要的结果了。
具体过程如下 :
json_encode(
array_merge(
json_decode($json1),
json_decode($json2)
)
);
⑺ php怎么样在json文件中指定位置追加数据,在【】中存储,谢谢各位大佬
<?php
$jsonStr=file_get_contents("test.json");
$jsonStr=str_replace("vargoodsData=[","[",$jsonStr);
$jsonStr=str_replace("];","]",$jsonStr);
$jsonData=json_decode($jsonStr,true);
$data=array();
$data['a']='test';
$data['b']='12133';
array_push($jsonData,$data);
$json_string="vargoodsData=".json_encode($jsonData).";";
file_put_contents("test.json",$json_string);
?>
⑻ php 怎么向json 中添加json数据
其实json格式无非就是{name:123,键散橘:值,…}的形式下去,你就可以根据这个闷伏办法冲罩团进行赋值到json存储了。其实你也可以把数组转成json,使用json_encode函数转换,json转数组用json_decode解码就可以了。
希望我的回答可以帮到你,有什么不懂可以追问。
⑼ 在php写有多层嵌套的json
php解析多层 json嵌套
for ($i = 0; $i < $count_json2; $i++)
{
$title = $de_json2[0]['result']['data'][0]['title'];
$imtro = $de_json2[0]['result']['data'][0]['imtro'];
$stepsimg1 = $de_json2[0]['result']['data'][0]['steps'][0]['img'];
$stepsstep1 = $de_json2[0]['如码result']['data'][0]['首陆steps'][0]['step'];
echo "者橡顷步骤1: " .$stepsstep1 ."<br>";
⑽ 如何用php解一个多层嵌套的json啊
json_decode()函数,把json转换成数组或对象,就好处理了。