Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Read…WithPath

...

メソッドを使って、パスでによって

...

JSON

...

データ内の位置が指定された値を読み込みます。パスは、スラッシュで区切られた一連のメンバ名、アレイ・インデックスです。

...

例えば、前回の例にあった以下の

...

JSON

...

文字列を使うとします。

...

{
    "name":

...


      { 
        "given":"John",

...


        "surname":"Smith"

...


    },

...

...

...

"given"

...

のメンバ値

...

(John)

...

へのパスは、"name/given".となります。

...

さらに前回の例から次の

...

JSON

...

文字列を使用します。

...

{
    ...

...


    "contactNo":

...


    [
        { area:"02",

...

no:"9378

...

2867",

...

type:"landline"

...

\},

...


        { no:"0468

...

732

...

371",

...

type:"mobile"

...

\}

...


    ]

最初の連絡先 (contact

...

number)

...

の市外局番

...

(area)

...

へのパスは

...

"contactNo/1/area"

...

です。

...

インデックスは常に1

...

がベースなることに注意してください。これは

...

RDML

...

の基準です。

...

それでは実際にメソッドを使用してみましょう。

...

"given"

...

...

"surname"

...

のメンバ値の取得は以下のようになります。

...

#GivenName

...

:=

...

#Reader.ReadStringWithPath("name/given")

...


#Surname

...

:=

...

#Reader.ReadStringWithPath("name/surname")

...

"name"

...

オブジェクトを開いて入ることもできます。こうすれば、パスで

...

"name"

...

のセグメントを繰り返す必要がありません。

...

#Reader.BeginObjectWithPath("name")

...


#GivenName

...

:=

...

#Reader.ReadStringWithPath("given")

...


#Surname

...

:=

...

#Reader.ReadStringWithPath("surname")

...


#Reader.EndObject

...

以下のように、最初の連絡先から連絡先のタイプを取得できます。

...

#ContactNoType

...

:=

...

#Reader.ReadStringWithPath("contactNo/1/type")

...

もしくは、最初に

...

"contactNo"

...

の最初のエレメントにナビゲートし、次に

...

"type"

...

の値を取得することもできます。

...

#Reader.BeginObjectWithPath("contactNo/1")

...


#ContactNoType

...

:=

...

#Reader.ReadStringWithPath("type")

...


#Reader.EndObject

...

次は:  Read…WithName メソッド