Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php中将html元素编码为JSON_Javascript_Php_Html_Json - Fatal编程技术网

Javascript 在php中将html元素编码为JSON

Javascript 在php中将html元素编码为JSON,javascript,php,html,json,Javascript,Php,Html,Json,我正在尝试用php对以下字符串进行编码,以便将其作为JSON对象发送: success:{'id':'success=-message', 'class':'success-message', 'inner-html':'Congratulations! You have been succesfully logged in'}, logout: {'type'='button', 'value'='logout', 'class'='logout-button'}, sessionID:

我正在尝试用php对以下字符串进行编码,以便将其作为JSON对象发送:

success:{'id':'success=-message', 'class':'success-message', 'inner-html':'Congratulations! You have been succesfully logged in'},

logout: {'type'='button', 'value'='logout', 'class'='logout-button'},

sessionID: {'type'='hidden', 'name'='sessionID', 'value'=1}
如何格式化它,以便使用json_encode()正确编码

您只需要花括号(begin和end)就可以使它成为一个有效的JSON数组


而且这些键需要被引用。

你说它是一个字符串?然后它看起来几乎完全是json编码的。只需将其放在方括号中:

echo "var myAssociativeArray = [ 
    success:{'id':'success=-message', 'class':'success-message', 'inner-html':'Congratulations! You have been succesfully logged in'},
    logout: {'type'='button', 'value'='logout', 'class'='logout-button'},
    sessionID: {'type'='hidden', 'name'='sessionID', 'value'=1}
];";
但是,看起来您是在PHP端创建这个字符串(正确吗?),这意味着您正在为它做
json\u encode
的工作。相反,您应该有如下内容:

//This is a temp array just to show you how it works:
$myArr = array(
    "success" => ( object ) array(
        "id" => "success=-message",
        "class" => "success-message",
        "inner-html" => "Congratulations! You have been succesfully logged in"
    )
);

//Now you output the json version
echo json_encode( $myArr );

json_encode将接收字符串,没有问题。但它看起来更像是一个伪js对象定义,并希望将其转换为等效的PHP结构,以便将其转换回json?是的,我希望json对象成功,注销和sessionID作为索引,其中每一个都是一个数组,我可以在其中访问其中的各个项目,所以这就是你已经得到的JS代码?如果不在PHP中实现javascript解析器,您将无法使用PHP将其转换为json。如果它已经在JS中,那么您需要
JSON.stringify()
为您进行转换。
//This is a temp array just to show you how it works:
$myArr = array(
    "success" => ( object ) array(
        "id" => "success=-message",
        "class" => "success-message",
        "inner-html" => "Congratulations! You have been succesfully logged in"
    )
);

//Now you output the json version
echo json_encode( $myArr );