Javascript 在php中将html元素编码为JSON
我正在尝试用php对以下字符串进行编码,以便将其作为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:
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 );