こんなJsonオブジェクトの値を取り出す方法

kintoneのような(kintoneではないです)とあるWebデータベースにHTTP Requestでアクセスすると、
{
データID1:{項目名1:値,項目名2:値,項目名3:値},
データID2:{項目名1:値,項目名2:値,項目名3:値},
・・・
}
という形式でリターンされます。

この内"項目名1"と"項目名2"の値をデータフレームにしたいです。

このオブジェクトの始まりのKeyであるデータIDは一定の位置ですが、"ID"なので、データ固有の数字の羅列になります。

この記事を参考にしていて、データフレームに格納するのは問題ないと思っているのですが、一定の"名前ではない"Keyの奥にある項目名1&2の値を同時に取り出す方法が分かりません。

For Each item in jObject.PropertyValues(“項目名1”)
メッセージボックス item
とやれば"データID"部分を無視して値にアクセスできる、というところまではたどり着いています。

Pythonであれば
For item1, item2 in zip(jObject.PropertyValues(“項目名1”),jObject.PropertyValues(“項目名2”))
とやったり、
jObject[list(jObject.keys())[0]][“項目名1”]
という風に汎用選択しているのですが、
UiPathではどうしたらいいでしょうか?

よろしくお願いいたします。

こんにちは

以下のような感じで取得できませんでしょうか?

img20210323-3

回答ありがとうございます。
データID1,データID2の部分は実際は
{12345:{},
12346:{},

}
とそれぞれに固有な数字になっていて、単純指定ができません、というのが今回の悩みの種です。。。

こんにちは

単純にわかるところから追いかけてみてはと思います。
以下いかがでしょうか?

img20210323-4

Sample20210322-1.zip (2.7 KB)

2 Likes

師匠!!!

Sampleまでありがとうございます。
.Childrenというプロパティを使うんですね。
そして繰り返しActivityの型の設定もjsonにできていなかったようで、Sampleを拝見して気が付きました。

今回取得するJsonオブジェクトの場合、画像の通りコレクションを
jObject.Children.Children
または
jObject.PropertyValues
にすることでできました!

一日中どうやるか探して見つけられなかったので、本当にありがたいです。

image

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.