PERL言語でJSON形式を使用する

PERL言語でJSON形式を使用します。



JSON形式


JSON(JavaScript Object Notation)はテキストデータ形式です。 これは、XML形式の代替です。 たとえば、JSON形式とXML形式の違いを考慮してください。 開発者がJournal学生アプリケーションに学生に関する情報を保存する必要があるとします。 以下のリストは、XML形式を使用したデータストレージの実装を示しています。

<student> <name></name> <surname></surname> <faculty></faculty> <group>-51</group> <adress> <city></city> <street></street> <house>2</house> <apartment>14</apartment> </adress> </student> <student> <name></name> <surname></surname> <faculty></faculty> <group>-72</group> <adress> <city></city> <street></street> <house>12</house> <apartment>24</apartment> </adress> </student>
      
      







JSON形式で提示される同様のデータ構造は次のようになります。

 [ { "name": "", "surname": "", "faculty": "", "group": "-72", "adress": { "city": "", "street": "", "house": "12", "apartment": "24" } }, { "name": "", "surname": "", "faculty": "", "group": "-51", "adress": { "city": "", "street": "", "house": "2", "apartment": "14" } } ]
      
      





問題の声明


JSON形式のデータ構造を解析するためのPerl言語でスクリプトを記述する必要があります。 これは、JSON形式構造のデータに対して実行される操作に必要です。

JSONとPerl


JSON形式で作業するには、JSON-2.53ライブラリが使用されます。

 use JSON;
      
      





以下に示すdecodeJSONサブルーチンは、JSON形式のデータ構造をPerl言語のデータ構造(さまざまな程度のネストの配列とハッシュで構成される)に変換するように設計されています。

 sub decodeJSON { my ($JSONText) = @_; my $hashRef = decode_json($JSONText); return @$hashRef; }
      
      





encodeJSONルーチンは、Perlデータ構造をJSON形式のデータ構造に変換するために使用されます。

 sub encodeJSON{ my($arrayRef) = @_; $JSONText= JSON->new->utf8->encode($perl_scalar); return $JSONText; }
      
      





おわりに


その結果、Perlのデータ構造が作成されます。これについては、今後次の機能が記述されます。

•アイテムの追加。

•アイテムの削除。

•要素データの編集。

•必要なアイテムを検索します。



All Articles