首页 开发编程 正文

php怎么生成json

(b/c)——s之间的数据都更多地以json/xml进行交互而减少html,再用json_decode()系统函数将其转为json对象,1、获取请求参数$input=file_get_contents("php:...

php怎么生成json,PHP和Nodejs哪个更好用?

这个不大好比。

首先,他们不是同一类东西。就目前而言,PHP除了做网站外,其他用得不多,毕竟他是为做网页而生的。一般地,node.js是一个js运行环境,通常人们拿它来做http server,对于某些情况,性能几乎是当前http server中最好的,但毕竟作为http server还比较年轻,对一些应用情景还不是特别有效。但node不仅仅做网站,由于他是一个js运行环境,基本可以做独立语言的事情,只要你愿意,几乎可以做你想做的。

其次,就http server而言,两个的设计理念也不同。PHP是依附在其它http server上的开发语言,对学习、使用者而言,除了了解PHP语言本身,还要对你的http server有一定了解,不同server的api各不相同,对要求“精通”编程的程序员来说,并不是一件很简单的事情。node本身是一个js运行环境,用其提供的内置api你能“写”一个非常简单的http server,要做“全功能”http server,有很多的模块及方案,例如express,但总的来说都是node内部的事情,同宗同族。

再次,从web开发角度看,纯服务器端渲染会越来越少。主要是现在终端的性能比较强,浏览器纯从服务器获取HTML显示比较浪费客服端性能,同时又极大增加服务器端负荷,所以在两端适当调整负荷是必然,随着客服端框架的发展,spa应用会越来越多,这有利负荷分担,流量减少,反应速度提高。就算不是spa,(b/c)——s之间的数据都更多地以json/xml进行交互而减少html,本质就是减少服务器端渲染,server更多担负数据中心的角色。对于这种逐步演进的应用,node就比PHP有优势:你可以把代码逐步地从s端向c端转移,直到自己认为合适,包括服务器负载,客户端体验……;而PHP暂时还不行。

最后,node是JavaScript绑定的语言环境,可以看做是一门独立的语言,不但可以做server,还可以做工具,做client,例如nw绑定,electron绑定等,这样你可以有更大的灵活性。

当然,萝卜白菜,做自己喜欢的事情还是最重要的,人家合适的不一定你合适,找到合适的就好。

phpget抓取json怎样去除双引号前面的反斜杠?

你这个不算标准的JSON格式数据,可以先将\"替换成"即可。再用json_decode()系统函数将其转为json对象,如需转为数组加上第二个参数为true即可。

若仍输出为NULL,是由于存在BOM头信息,$arr = json_decode(trim($json,chr(239).chr(187).chr(191)),true);转换即可。

php如何接收json数据?

根据个人理解PHP接收json数据有三种:获取json格式的请求参数;获取json文件中的数据;获取接口返回的寄送数据。下面将一一讲述:1、获取请求参数

$input = file_get_contents("php://input");

$input = json_decode($input,true);

var_dump($input);

2、获取文件中的json

$jsonStr = file_get_contents('src/xx.json');

$jsonObj = json_decode($jsonStr, true);

3、获取接口返回的json(以post请求为例)

function run_curl_json($url, $data, $timeout) {

$data = json_encode($data);

$ch = curl_init($url); //请求的URL地址

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data)));

$ret = curl_exec($ch);

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

$jsonObj = json_decode($ret, true);

return ['data' => $jsonObj, 'code' => $httpCode];

}

以上三种方式中获取到的都是json字符串,然后通过json_decode将json字符串转为数组。

ajax于php交互?

会jquery吗,可以先从jquery的ajax入手,会比较简单。ajax写在js脚本里,一般是获取表单的数据(value)然后传到php脚本进行处理,再接受返回的数据。jquery的写法是这样的:js脚本

type是传值的方式,有get和post,php脚本里取值语句也要用对应的方式。url后面的参数是将数据传递到你想要的php脚本路径,这里是相对路径。data是你要传递的数据,一般从表单中娶过来后写成json的形式传递。 datatype是获取数据的格式,success是传递成功后的反馈或者使用接收回来的数据,这里的data参数是php处理后的(你想要的)数据,php那边对应的是echo后面的东西。php脚本:index.php前面两句是取传过来的数据,分别对应了ajax里data的数值,第三句是一个简单的数据处理。最后php脚本的输出值就是echo语句后面的内容,并返回给js脚本里success的function的参数data。

jsonpath库函数介绍?

JSONPath用来解析多层嵌套的JSON数据;JSONPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:JavaScript, Python, PHP和Java。

本文转载自互联网,如有侵权,联系删除