【发布时间】:2018-08-22 05:08:56
【问题描述】:
我正在读取一些数据,需要删除双引号。我正在使用
$myArray[$i] =~ tr/"//d;
虽然这可行,但当它到达数组中的特定元素时,它会挂起浏览器。该元素是:
"earnings":"{\"29262\":\"8.0595\"}"
我基本上只需要去掉引号、括号和斜线,这样它看起来就像 earnings:29262:8.0595 这样我就可以更好地处理数据。
【问题讨论】:
-
你在解析 JSON 吗?
-
使用现有的 JSON 解析器(例如 Cpanel::JSON::XS)而不是尝试创建自己的。
-
"earnings":"{\"29262\":\"8.0595\"}"- 这不是字符串,字符串可能是这个"\"earnings":"{\"29262\":\"8.0595\"}\""你能提供你的真实字符串吗? -
不使用 JSON,只是提取我提供的数据。不知道这实际上是 JSON 格式。这将是网络上的 CGI。我得看看那个解析器是否可用。
-
正如其他人所说,这看起来像是 JSON 数据。当然,您没有义务这样对待它,但是您没有显示有效的 Perl 字符串,因此甚至无法猜测解决方案可能是什么。这是在 CGI 代码中吗?请展示一个重现问题的 Perl 程序,包括
@myArray的定义以及您用来转储其内容的代码
标签: string perl replace double-quotes