You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中如何去除JSON.stringify返回结果的引号?

解决React Native中显示城市名带引号的问题

嘿,这个小问题我之前也踩过坑!你看到的引号其实是因为你用JSON.stringify()把原本就是字符串类型的城市名转换成了JSON格式的字符串,所以才会带着双引号显示出来。下面给你几种靠谱的解决办法:

方法一:避免不必要的JSON.stringify()

如果你的原始位置数据(比如从定位API拿到的location.city)本身就是字符串,那完全不需要用JSON.stringify()处理它。直接把原始值赋值给state就好:

// 错误的写法(导致带引号)
const fetchedCity = JSON.stringify(location.city);
this.setState({ city: fetchedCity });

// 正确的写法
this.setState({ city: location.city });

方法二:用JSON.parse()还原已转义的字符串

如果你已经不小心把城市名转成带引号的JSON字符串了,那可以用JSON.parse()把它转回普通字符串:

// 在渲染时直接解析
<Text>City: {JSON.parse(this.state.city)}</Text>

// 或者在设置state的时候就解析好
const parsedCity = JSON.parse(fetchedCityWithQuotes);
this.setState({ city: parsedCity });

方法三:字符串替换(不推荐)

虽然可以用正则替换掉引号,但这种方法有风险——如果城市名本身包含双引号(虽然非常少见),会误删内容。所以只作为兜底方案:

<Text>City: {this.state.city.replace(/"/g, '')}</Text>

总的来说,优先用前两种方法,尤其是方法一,从根源上避免问题~

内容的提问来源于stack exchange,提问作者Markus Hayner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:51:42