为了账号安全,请及时绑定邮箱和手机立即绑定

我可以通过特定方式格式化通过PHP的json_encode()编码的变量的语法吗?

我可以通过特定方式格式化通过PHP的json_encode()编码的变量的语法吗?

PHP
慕丝7291255 2021-04-28 21:49:52
最初,我使用URL获取JSON文件,然后使用file_get_contents(url)进入php变量以获取传递给它的JSON字符串。由于我的问题,我假设这会将变量初始化为特殊的JSON类型。如果我尝试创建变量“动态”(硬编码问题的目的)和使用json_encode($ JSON)到$ data3的,它并没有在某种程度上,我的JS FullCalendar事件可以读取它格式化。我试图通过传递一个与$ data完全相同的直接字符串来回避$ data2作弊。无法将我的JSON供稿用于日历。因此,我需要以某种正确的语法获取$ data3,同时保留JSON属性。如何处理json_encode输出的语法?page-template.php$url = get_stylesheet_directory_uri() . '/calendar.json';$data = file_get_contents($url);$data2 = '{ "className" : "mooncenter", "title" : "big energy", "start" : "2019-04-23" }';$json= '{ "className" : "mooncenter", "title" : "big energy", "start" : "2019-04-23" }';$data3 = json_encode($json);echo $data;echo $data2;echo $data3;回声输出。//$data outputs{ "className" : "mooncenter", "title" : "big energy", "start" : "2019-04-23" }//$data2 outputs the same, but does not work because not json encode?{ "className" : "mooncenter", "title" : "big energy", "start" : "2019-04-23" }//$data3 outputs weirdly, with double quotes or slashes depending on// if I encapsuled the PHP init with '' or "". Below is one example."{ \"className\" : \"mooncenter\", \"title\" : \"big energy\", \"start\" : \"2019-04-23\" }"我需要$ data3看起来像前两个一样,同时保留json编码属性。这可能吗?这将解决我的动态JSON创建问题,而无需传递URL,也使我永恒。
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

好的,尝试添加更改代码,如下所示


    $myObj->name = "John";

    $myObj->age = 30;

    $myObj->city = "New York";


    $myJSON = json_encode($myObj);


    echo $myJSON;

输出


{"name":"John","age":30,"city":"New York"}

这肯定会为您提供帮助,通过这种方式,您无需将键值对手动作为字符串放置:)欢呼


查看完整回答
反对 回复 2021-05-14
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

由于我的问题,我假设这会将变量初始化为特殊的JSON类型。

你不对 json_encode()将PHP对象(通常是数组)转换为JSON字符串。PHP中没有JSON类型。

您的文本文件已经包含JSON文本,因此使用file_get_contents()已经将该文件的内容加载到变量中就可以得到一个JSON字符串。您无需再次编码。发生任何错误的地方都在此代码之外。


查看完整回答
反对 回复 2021-05-14
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

$data3['name'] = "John";

$data3['age'] = 30;

$data3['city'] = "New York";


$myJSON = json_encode($myObj);

echo $myJSON;


//decode

$phpArray = json_decode($myJSON, true);

print_r($phpArray);


查看完整回答
反对 回复 2021-05-14
  • 3 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信