如何解决将BIGINT转换为JSON.stringify中的字符串
我正在尝试在JSON.stringify()内将引号转换为字符串。
该数字的行为类似于BIGINT,因此解析后无法更改
当解析为INT时,数字SSLProxyEngine on
ProxyPass /redmine/ https://mysite.domain/
ProxyPassReverse /redmine/ https://mysite.domain/
ProxyHTMLEnable On
RequestHeader unset Accept-Encoding
ProxyHTMLCharsetOut *
ProxyHTMLURLMap / /redmine/
变成950375379233915148
950375379233915100
尝试用正则表达式替换
let json= "[{\"IDItem\":1111111,\"ItemName\":\"Test\",\"startDate\":\"Aug 31 2020 12:00AM\",\"FinishtDate\":\"Aug 31 2020 12:00AM\",\"startTime\":\"10:30:00.0000000\",\"itemNum\":123564554,\"Place\":\"10\",\"IDItemType\":30,\"Remark\":null,\"SmooveId\":0,\"WebinarKey\":950375379233915148,\"FullDescription\":null,\"ItmCode\":\"TE\",\"isPublic\":false,\"ActiveUserID\":1}]"
这就是我得到的:
json.replace(/WebinarKey":(\d.+),/,"WebinarKey\":\"$1\",")
replace函数将所有从"[{
"IDItem":1111111,"ItemName":"Test","startDate":"Aug 31 2020 12:00AM","FinishtDate":"Aug 31 2020 12:00AM","startTime":"10:30:00.0000000","itemNum":123564554,"Place":"10","IDItemType":30,"Remark":null,"SmooveId":0,"WebinarKey":"950375379233915148,"FullDescription":null,"ItmCode":"TE","isPublic":false","ActiveUserID":1
}]"
开始的变量的字符串转换为"WebinarKey"
,即在"isPublic"
之后加上引号
我只想将变量“ WebinarKey”的内容转换为字符串
解决方法
最好的解决方案是使JSON的生产者修复其字符串
要解决您的RegEx问题,您需要制作正则表达式lazy instead of greedy
因此,(\d.+?),
或(\d+?),
而非(\d.+),
let json= "[{\"IDItem\":1111111,\"ItemName\":\"Test\",\"startDate\":\"Aug 31 2020 12:00AM\",\"FinishtDate\":\"Aug 31 2020 12:00AM\",\"startTime\":\"10:30:00.0000000\",\"itemNum\":123564554,\"Place\":\"10\",\"IDItemType\":30,\"Remark\":null,\"SmooveId\":0,\"WebinarKey\":950375379233915148,\"FullDescription\":null,\"ItmCode\":\"TE\",\"isPublic\":false,\"ActiveUserID\":1}]"
let changed = json.replace(/WebinarKey":(\d.+?),/,'WebinarKey":"$1",')
console.log(JSON.parse(changed))
// if only numbers in the field
changed = json.replace(/WebinarKey":(\d+?),')
console.log(JSON.parse(changed))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。