-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を読み取り、データ構造を変更して、書き戻すことを強くお勧めします。

それを実行する1つのモジュールについては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 に答える