Ⅰ 如何用curl post 一段包含中文json的文本到伺服器
一般中文json_encode之後會變成uxxxx的格式了,只要使用正規的json_encode處理,
不需要考慮中文問題。
至於如何post數據到伺服器,需要設定header,參考代碼如下:
<?php
#json數據
$url='http://test.com/curl/testPostJsonData.php';
$data='{"a":"b"}';
$length=strlen($data);
$header=array(
'Content-Length:'.$length,//不是必需的
'Content-Type:text/json',
);
$ch=curl_init($url);//初始化curl
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$content=curl_exec($ch);//執行並存儲結果
curl_close($ch);
echo$content;
服務端需要使用$data=file_get_contents('php://input');獲取數據。
更多PHPcURL內容請參考我的博客《PHPcURL實現模擬登錄與採集使用方法詳解教程》
Ⅱ 如何用curl post 一段包含中文json的文本到伺服器
我的博客《PHP cURL實現模擬登錄與採集使用方法詳解》第十一點發送與獲取json數據對此類問題做了詳細的講解,下面是代碼示例:
<?php
#json數據
$url='http://test.com/curl/testPostJsonData.php';
$data='{"a":"b"}';
$length=strlen($data);
$header=array(
'Content-Length:'.$length,//不是必需的
'Content-Type:text/json',
);
$ch=curl_init($url);//初始化curl
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$content=curl_exec($ch);//執行並存儲結果
curl_close($ch);
echo$content;
# 分割數據
$data=[
'name:Zjmainstay',
'website:http://www.zjmainstay.cn',
];
$data=implode(" ",$data);
#&分割數據
$data='name:Zjmainstay&website:http://www.zjmainstay.cn';
更多詳情,包括服務端如何接收此類數據,請查看博客:http://www.zjmainstay.cn/php-curl
Ⅲ postjson和getjson的區別
get和post顧名思義,兩種提交方式,getjson則是向後台定了一個要求,返回的數據必須是json,否則回調函數里的XHR對象為空,$get,$post,$getjson三個方法最後調用的都是$ajax,只不過jquery對這三個方法進行了簡單的封裝。
Ⅳ asp 怎麼接收post過來的json數據,解析出來後寫入資料庫
<scriptlanguage="jscript"runat="server">
Array.prototype.get=function(x){returnthis[x];};
functionparseJSON(strJSON){returneval("("+strJSON+")");}
</script>
<%
Dimjson,obj
json="{a:""aaa"",b:{name:""bb"",value:""text""},c:[""item0"",""item1"",""item2""]}"
Setobj=parseJSON(json)
Response.Writeobj.a&"<br/>"'直接獲取
Response.Writeobj.b.name&"<br/>"'獲取指定key
Response.Writeobj.c.length&"<br/>"'獲取條數
Response.Writeobj.c.get(0)&"<br/>"'C的第一條
Response.Writeobj.c&"<br/>"'獲取全部
Setobj=Nothing
%>
然後就是對應的更新到資料庫就行了。
建議讓JSON,整條的保存在資料庫,取出來的時候這樣解釋就行了。。。