JSON中的下标

时间:2017-09-10 06:44:53

标签: json character-encoding

我将以下JSON直接分配给JS变量:

{
    "name": "NaHCO3",
    "parent": "Top Level",
    "_children": [
        {
          ...
        },
     ]
},

使用name属性,我希望它是NaHCO 3 不是 NaHCO3。我怎么做到这一点?
我尝试为此寻找一个HTML实体,但似乎没有一个。

2 个答案:

答案 0 :(得分:3)

只需使用字符₃\u2083

\u2083是PHP用来编码为JSON的内容:

$mol_encoded = json_encode(html_entity_decode('NaHCO₃'));
$mol_decoded = json_decode($mol_encoded);

echo "$mol_encoded\n$mol_decoded";

返回:

"NaHCO\u2083"
NaHCO₃

并在JS JSON.parse('"NaHCO\u2083"')中返回"NaHCO₃"

答案 1 :(得分:1)

JSON不是标记语言。所以它并不关心它所携带的价值的含义。 Somstimes你可以使用UTF实体,因为UTF中有各种各样的符号(比如你所寻找的subscript three):

{
    "name": "NaHCO₃",
    ...
},

但是如果你想要一般的某些标记功能,你必须选择实现它的方法,然后格式化存储的值以使用它。即您可以使用HTML标签或降价等。