-5

我的字符串如下,我想删除第一个 { ,只有第一个是字符串的开头。该字符串在替换之前打印良好,但在替换它的空字符串之后。

use strict;
use warnings;

my $string = {"something":[{"some":"12","some":"something","data":"","data":"data2","age":"23"},{......},{.....}]}

# the string is valid as it is json from some array function.

print $string."\n";   #My string prints fine here
 $string = s/\{//;

print "String after replacement".".$string." testing";
4

3 回答 3

5

我强烈建议您使用现有的、经过测试和调试的 JSON 模块来读取 JSON、修改数据结构并将其写回,而不是尝试手动弄乱 JSON。

请参阅JSON以了解可以为您执行此操作的一个模块。

于 2013-03-19T22:05:40.793 回答
2

代替:

$string = s/\{//;

和:

$string =~ s/\{//;
于 2013-03-19T22:06:16.090 回答
1

如前所述,另一种方法是使用JSON::XS模块,它会比redbmkJSON说的更快,而且它可以更好地处理 UTF-8。

于 2013-03-19T22:12:07.397 回答