/* JSONデータ格納用 */
JSONDocument jsonData;
PulldownList pList1 {
X = 16;
Y = 152;
Width = 340;
Height = 82;
PulldownItem Item1[] {
Function OnTouch( e ) {
/* 選択した項目の内容をラベルに表示する */
/* JSONDocumentの値をArrayクラスに入れる */
var arrData = Json50_001.jsonData.value;
/* 情報を取得する */
var itemName = arrData["item"][e.from.index]["itemName"];
var itemPrice = arrData["item"][e.from.index]["itemPrice"];
/* Label2へ表示する */
Json50_001.Label2.Value = itemName + "の値段は "
+ str(itemPrice) + " 円です";
}
}
}
Label Label1 {
X = 20;
Y = 212;
Width = 336;
Height = 30;
Value = "選択された項目の情報";
VerticalAlign = $BOTTOM;
}
Label Label2 {
X = 20;
Y = 246;
Width = 336;
Height = 45;
VerticalAlign = $CENTER;
HorizontalAlign = $CENTER;
FontSize = 14;
BgColor = $CCFFCC;
}
if ( !$DESIGNTIME ) {
/* サーバーからJSONデータを取得する
* 「http://localhost」へjsondata.jsonが配置されている事が
* 前提となります。
*/
var session = findHttpSession("http://localhost");
var res = session.get("/jsondata.json");
/* 取得したJSONデータをJSONDocumentへロード
※ポイント
JSONDocument(jsonData)へロードされたデータは
JSONDocument内部でArrayオブジェクトへ展開、保持されます。
*/
jsonData.load(res);
/* JSONデータを解析した値を取得する
※ポイント
JSONDocumentのvalueの型は「Array」です。
よって以下「arrData」にはArrayオブジェクトが格納されます。
*/
var arrData = jsonData.value;
/* PulldownItemの要素(index)番号格納用 */
var maxLength;
var i;
/* JSONデータのitem数分ループ */
for (i = 0; i < arrData["item"].length; i++ ) {
/* PulldownListへ要素(項目)を追加 */
pList1.Item1.insert(1);
/* PulldownItemの要素(index)番号を取得 */
maxLength = pList1.Item1.length - 1;
/* ItemCodeをPulldownList.Valueに、
ItemNameをPulldownList.Titleに設定する */
pList1.Item1[maxLength].value = arrData["item"][i]["itemCode"];
pList1.Item1[maxLength].title = arrData["item"][i]["itemName"];
}
}
|