在JSON Array中分配PHP值

时间:2015-03-06 07:52:53

标签: php html json

我在研究这个DUDAMOBILE API。 PHP网站中的自定义集成。首先它需要来自客户的URL。

$url = $_POST["url"]

我想在下面的代码中分配这个网址

$data = '
        {   
        "site_data":
            {               
                "original_site_url":"http://www.test.com/"
            }
        }
    ';

但不确定如何将其分配给上面的代码。我试过这样的。但它不起作用

$data = '
        {   
        "site_data":
            {               
                "original_site_url":'.$url.'
            }
        }
    ';

我得到这个错误 Failed to parse JSON: Unexpected character ('h' (code 104))

2 个答案:

答案 0 :(得分:4)

这是因为网址中的斜杠。最好使用json_encode而不是手动格式化json。

$data = ['site_data' => ['original_site_url' => $url]];
$json = json_encode($data); // json_encode($data, JSON_PRETTY_PRINT) to keep formatting.

答案 1 :(得分:1)

您还需要围绕该值的引号,否则它不是有效的JSON字符串:

$data = '
        {   
        "site_data":
            {               
                "original_site_url":"'.$url.'"
            }
        }
    ';

错误是因为解析器需要双引号并找到" h"网址的开头(http ....)。