【发布时间】:2019-02-12 10:53:29
【问题描述】:
给定以下数组
$locationIcon = array(
'face' => 'FontAwesome',
'code' => '\uf015',
'size' => 75,
'color' => 'gray',
);
通过json_encode 编码,我想要这个输出:
{
face: 'FontAwesome',
code: '\uf015',
size: 75,
color: 'gray'
}
但是我得到了这些结果:
版本 1
json_encode($array)
=>
"icon":{"face":"FontAwesome","code":"\\uf2bd","size":40,"color":"gray"}
版本 2 如所见 here
json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)
=>
"icon" {"face":"FontAwesome","code":"\\uf2bd","size":40,"color":"gray"} (same)
版本 3(添加转义字符)
$locationIcon = array(
'face' => 'FontAwesome',
'code' => sprintf('%cuf2bd', 27),
'size' => 100,
'color' => 'gray',
);
json_encode($array)
=>
"icon" {"face":"FontAwesome","code":"\u001buf233","size":40,"color":"gray"}
任何想法我做错了什么?
【问题讨论】:
-
好吧,您已经编写了字符串“反斜杠 u f 零一五”,并且 JSON 编码将其完全保留为该含义。没有理智的办法。写你想要的实际字符,而不是“\uf015”。
-
虽然我理解您的意思,但我将如何编写 FontAwesome 图标的“实际”字符?
-
你想改为序列化吗?