如何对JSON的纯文本响应进行编码,并使用PHP CURL获取特定数据
我得到了纯文本格式的api响应。因此,对于响应数据的操作,我需要将响应编码为JSON格式。然后,我可以轻松地获取欲望响应数据并使用它 请求代码(示例)::如何对JSON的纯文本响应进行编码,并使用PHP CURL获取特定数据,php,json,api,curl,encode,Php,Json,Api,Curl,Encode,我得到了纯文本格式的api响应。因此,对于响应数据的操作,我需要将响应编码为JSON格式。然后,我可以轻松地获取欲望响应数据并使用它 请求代码(示例):: $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://api.arshohag.me/test", CURLOPT_RETURNTRANSFER => true
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.arshohag.me/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "login=testapp&key=152456&md5=chasdg4as432&action=test",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
响应代码(示例)::
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.arshohag.me/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "login=testapp&key=152456&md5=chasdg4as432&action=test",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
我想将响应编码为JSON格式,如下所示-
{
"id" : "2566546",
"authentication_key" : "74448975",
"error_code" : "0",
"error_txt" : "Test Ok"
}
$id=array["id"];
echo $id;
也可以像这样抓取数据-
{
"id" : "2566546",
"authentication_key" : "74448975",
"error_code" : "0",
"error_txt" : "Test Ok"
}
$id=array["id"];
echo $id;
通过json_编码完成。像这样使用它 var_dump(json_解码($response,true))
Reference此方法适用于Java,如果每行以结尾,您可以将其转换为您的语言\r\n
String jsonStringConverter(String stringResponse) {
String[] parts = stringResponse.split("\\r\\n");
String jsonString = "{\"";
for (int i = 0; i < parts.length; i++) {
jsonString += parts[i].replace("=", "\":\"");
jsonString += (i < parts.length - 1) ? "\", \"" : "";
}
return jsonString += "\"}";
String-jsonStringConverter(String-stringResponse){
String[]parts=stringResponse.split(\\r\\n”);
字符串jsonString=“{\”;
对于(int i=0;i $curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.arshohag.me/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "login=testapp&key=152456&md5=chasdg4as432&action=test",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
jsonString+=(i $curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.arshohag.me/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "login=testapp&key=152456&md5=chasdg4as432&action=test",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
}
返回jsonString+=“\”};
}
输出:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.arshohag.me/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "login=testapp&key=152456&md5=chasdg4as432&action=test",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{
id: "2566546",
authentication_key: "74448975",
error_code: "0",
error_txt: "Test Ok"
}
object(stdClass)#1 (4) {
["id"]=>
string(7) "2566546"
["authentication_key"]=>
string(8) "74448975"
["error_code"]=>
string(1) "0"
["error_txt"]=>
string(7) "Test Ok"
}
ID is: 2566546
要从JSON获取数据,请执行以下操作:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.arshohag.me/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "login=testapp&key=152456&md5=chasdg4as432&action=test",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
// Decode JSON. Assume JSON object is stored in $jsonData
$decodedData = json_decode($jsonData);
var_dump($decodedData);
// Access like below
$id = $decodedData->id;
echo "\nID is: ".$id;
输出:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.arshohag.me/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "login=testapp&key=152456&md5=chasdg4as432&action=test",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{
id: "2566546",
authentication_key: "74448975",
error_code: "0",
error_txt: "Test Ok"
}
object(stdClass)#1 (4) {
["id"]=>
string(7) "2566546"
["authentication_key"]=>
string(8) "74448975"
["error_code"]=>
string(1) "0"
["error_txt"]=>
string(7) "Test Ok"
}
ID is: 2566546
json_encode在这里不起作用,因为它是一个普通的TXT。需要一些编码算法。请检查这个,我希望这将帮助您$lines=explode(“\n”,$response);$output=Array();$thisElement=&$output;foreach($line作为$line的行){$elements=explode(“:”,$line);if(count($elements)>1){$thismelement[trim($elements[0])]=$elements[1];}if(strstrstr($line,“{”){$elements=explode(“{”,$line);$key=trim($elements[0]);$output[$key]=Array();$thismelement=&$output[$key];}if(strstrstr($line,“}”){$thiseelement=&$output;}}}echo'';print_r($output);echo'';我正在使用它将txt转换为纯文本..但是我在outputuhm中得到了“t”或“tt…”结构数据,然后对其进行json_编码
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.arshohag.me/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "login=testapp&key=152456&md5=chasdg4as432&action=test",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}