当前位置:首页 » 编程语言 » php定义json

php定义json

发布时间: 2023-04-27 02:01:42

php怎么接收json类型数据

PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:
$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。
$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
补充说明:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。

Ⅱ php解析json数组问题。

<?php
$a=json_decode('{"status":0,"total":1,"size":1,"contents":[{"title":"111","location":[113.11509,23.012777],"city":"u4f5bu5c71u5e02","create_time":1385386545,"geotable_id":38432,"address":"7","province":"u5e7fu4e1cu7701","district":"u7985u57ceu533a","map_id":"1","uid":42504634,"coord_type":3,"type":0,"distance":370,"weight":0}]}');

$b=$a->contents;

echo$b[0]->title;
echo'<br>';
echo$b[0]->location[0];
echo'<br>';
echo$b[0]->location[1];
?>

哎,你这个对象略复杂,我的眼睛都看花了。。。

还有,城市名并没有加密,只是楼上没有指定编码utf-8

城市名是:佛山市

地址是:广东省佛山市禅城区汾江南路8号

省份是:广东省

district是:禅城区

Ⅲ 如何向php服务器发送数据为json的post请求

用curl

$ch = curl_init();
$header[] = "Content-type: text/xml";//定义content-type为xml
curl_setopt($ch, CURLOPT_URL, $url); //定义表单提交侍悉地址
curl_setopt($ch, CURLOPT_POST, 1); //定义提交类型 1:POST ;0:GET
curl_setopt($ch, CURLOPT_HEADER, 1); //兆辩定义是否显示状态头 1:显示 ; 0:不显示
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//定义请求类型
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//定义是族谈缺否直接输出返回流
curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr); //定义提交的数据,这里是XML文件
$res = curl_exec($ch);
curl_close($ch);//关闭

Ⅳ php转换成json数据格式

json和php数组 格式的互相转换,参考如下:

$php_json = json_encode($json_arr); //把php数组格式转换成 json 格式的数据
echo $php_json;
$php_json = json_decode($php_json); //再把json格式的数据转换成php数组
print_r($php_json);

json数组
$json = '[{"id":"22","name":"33","descn":"44"}]'; //json格式的数组转换成 php的数组
$arr = (Array)json_decode($json);
echo $arr[0]->id; //用对象的方式访问

Ⅳ PHP怎么把多个数组揉成一个json字符串

<?php

//创建数组

$array = array(

"name" => "Hza",

"age" => 21

);

//数组转化为json格式察咐

echo json_encode($array);

echo "<br />";

//创建类

class Student {

public $name;

public $age;

//初始化是赋值

function __construct($name, $age)

{

$this->name = $name;

$this->age = $age;

}

//魔术方法 把对象转换成字符串格式 以备使用json_encode()函数

function __tostring() {

//对象转败悔纯化为json格式

return json_encode($this,JSON_FORCE_OBJECT);

}

}

//实例化对象

$person1 = new Student('Hza', 20);

//输出json格式

echo $person1;

?>

(5)php定义json扩展阅读:

json六个构造字符:

begin-array = ws %x5B ws ; [ 左方括号

begin-object = ws %x7B ws ; { 左大前咐括号

end-array = ws %x5D ws ; ] 右方括号

end-object = ws %x7D ws ; } 右大括号

name-separator = ws %x3A ws ; : 冒号

value-separator = ws %x2C ws ; , 逗号

在这六个构造字符的前或后允许存在无意义的空白符(ws):

ws = *(%x20 /; 空间

%x09 /; 水平标签

%x0A /; 换行或换行

%x0D); 回程

Ⅵ PHP中用json实现购物车功能,怎么实现

购物车中至少包含 以下信息:
商品ID,商品名称,商祥磨厅品价格,购买数量,(其他如果有)
把以上信息组成一个数组,
每购买一件商品,就生成一游桥个这样的数组,多谨隐个数组组成一个大数组,
然后将这个二维数组转成JSON格式存入COOKIE即可。在购物车页面加载时,读取COOKIE内的这个JSON,然后再转成数组输出到页面即可。
PHP数组转JSON:json_encode
JSON转数组:json_decode

Ⅶ php中得json是干什么用的

json_encode以及json_decode是将一个数组转换为json文本和将json文本转换为一个数陪正组。里面的汉脊颂字会转成unicode编码樱乱郑

Ⅷ 用php如何将数据(文本和图片)转换成json格式

前台:
<form action="跳转页面" method="post" enctype="multipart/form-data">
<input type="file" name="fname" />
<input type="submit" value="Submit" />
</form>

input[type=file] 表示:需要上传的文本或者图片

后台:
echo json_encode($_POST); // 输出json 字符串

输出的内容是上传到服务器的文件路径等相关信息

Ⅸ php怎么将数组数组转化为json格式的数据

一、json_encode()

[php]view plain

  • <?php

  • $arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

  • echojson_encode($arr);

  • ?>

  • 输出

    [php]view plain

  • {"a":1,"b":2,"c":3,"d":4,"e":5}

  • 再看一笑祥个对象转换的例子:

    [php]view plain

  • $obj->body='anotherpost';

  • $obj->id=21;

  • $obj->approved=true;

  • $obj->favorite_count=1;

  • $obj->status=NULL;

  • echojson_encode($obj);

  • 输出

    [php]view plain

  • {

  • "body":"anotherpost",

  • "id":21,

  • "approved":true,

  • "favorite_count":1,

  • "status":null

  • }


  • 由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。
  • 二、索引数组和关联数组

    PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。

    由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。

Ⅹ php+mysql数据库取数据转成json格式

PHP取Mysql数据并转换为json格式,这很简单
过程分为取数据-保存为数组-json格式输出三步
取数据分为连接与查询(条件等),参考下面文章
保存为数组也容易,array_push就行
json格式的输换最为便捷,只需echo json_encode($myArr);
输出的就是你要的json格式,就像你图中的那样
参考文章:http://snowcoal.com/article/568.html

热点内容
这个锁屏密码是什么 发布:2024-11-01 12:24:51 浏览:91
相机存储卡排名 发布:2024-11-01 12:24:49 浏览:957
androidxml格式化 发布:2024-11-01 12:23:14 浏览:164
Vb6编译是错误不知道错误代码 发布:2024-11-01 12:16:23 浏览:159
局域网电脑访问服务器怎么提速 发布:2024-11-01 12:14:09 浏览:321
美创数据库 发布:2024-11-01 12:05:45 浏览:915
你改爱奇艺密码什么意思 发布:2024-11-01 12:04:48 浏览:408
矩阵分解python 发布:2024-11-01 11:58:23 浏览:367
如何查询微信支付密码修改记录 发布:2024-11-01 11:51:57 浏览:206
如何运维gpu服务器 发布:2024-11-01 11:45:23 浏览:366