0

perlで以下の2文字("-"と"_")をJSON形式に変換したいです。JSONとして使用します。しかし、私は変換に失敗しました。これらのユニークな 2 つの文字を変換する方法を知りたいです。

フォーマット

'--'    -> ':'
'-_'    -> '{'
'_-'    -> '}'
'__'    -> ','

これが私のプログラムです

#!/usr/local/bin/perl

use strict;
use warnings;

sub toJsonFormat {
  my $self = shift;
  my $str = shift;

  $str =~ s/-_/{/g;
  $str =~ s/_-/}/g;
  $str =~ s/--/:/g;
  $str =~ s/__/,/g;                                                                                                          
  return $str;

}

これはサンプルです

コードを試す

toJsonFormat('-_service---_key--value_-__-_key--value_-__service---_key--value_-_-')

期待される

"{service:{key:value},{key:value},service:{key:value}}"

手に入れた

'{service:{key:value_{_{key:value_{_service:{key:value_{-'

期待されるキャラクターに変換するアイデアがあれば教えてください。

前もって感謝します。

4

1 に答える 1