如何只获取一个作为JSON发送的参数值

时间:2013-10-31 14:05:53

标签: php json

我的网页链接就像这样

  

http://mysite.php?json={"some_key":"some_val"}

$json=$_GET ['json'];  
$obj = json_decode($json);
#this line print the whole input 
echo $json."</br>";

#but this does not print anythig 
echo $obj->{'some_key'}."</br>";

我是php的新手,我陷入了阅读输入...... :(

**编辑

我的观点是将some_val变为变量,以便我可以根据值...

做出决定

对我而言,将其放入网址是最简单的方法,但如果必须,我会实施POST方法。

我需要的代码应该是这样的

  

$ variable =(读取键“some_key”的值)

2 个答案:

答案 0 :(得分:0)

我认为您正在寻找基本的网址查询参数:

http://mysite.com/index.php?somekey=someval

在php中:

if ( isset( $_GET['somekey'] ) && $_GET['somekey'] == 'someval') {
   $variable = $_GET['somekey']; // example of assigning GET param to variable
   echo "do something!";
}

如果您打算将json作为url param传递:

$json = json_decode($_GET['json']);
echo $json->some_key;

答案 1 :(得分:0)

<强>汇总

INPUT

 http://urlblabla/test.php?json={"some_key":"some_val"}

一些补丁后的代码:

从url格式解码为普通,并删除html实体

CODE:

<?php

if(IsSet($_GET['json']))
{
    $json = html_entity_decode( urldecode( $_GET['json'] ) ); 
    $obj = json_decode($json);
    #this line print the whole input 
    echo $json."</br>";

    #but this does not print anythig 
    echo "Value of some_key : '{$obj->some_key}'</br>";

    #into variable (assign some_key value to variable $var)
    $var = $obj->some_key;

    echo "Value of var : '{$var}' <br />";

}
?>