淘先锋技术网

首页 1 2 3 4 5 6 7

最近在做一个项目,遇到了一个问题:当我尝试在JSON中传递中文字符串时,它会变成 NULL 值。


{
   "name": "张三",
   "age": 25,
   "hometown": null,
   "description": "这是描述"
}

json传值中文时变null

以上是我传递的JSON,您可以看到故乡的值为 NULL 。

经过一番研究和调试,我发现这是因为JSON字符串中的中文字符需要经过编码才能传递。如果我们没有对它们进行正确的编码,那么它们将会变成NULL值。

我发现需要使用 JavaScript 中的 encodeURIComponent() 方法对中文字符进行编码。这会将字符串转换为URL安全的格式,这样就能正确地传递中文字符串。


{
   "name": "张三",
   "age": 25,
   "hometown": "%E5%B9%BF%E5%B7%9E",
   "description": "这是描述"
}

在上面的 JSON 中,您可以看到我对故乡进行了编码,现在它正确地显示为 "广州"。

因此,如果您遇到了 JSON 中文字符串变成 NULL 的问题,不要惊慌。只需要使用 encodeURIComponent() 方法对字符串进行编码即可。