2017-11-28 8 views
2

ここにプログラムコードがあります。これは次のような構造のコードファイルです: {key:value}、{key:value} ]私は辞書にリスト要素を変換するとRobotFrameworkのリストの中にあるAccess Dictionary要素には、属性がありません

、それはあなたが不要なデータの変換、そしてあなたがオブジェクトのタイプを混乱しているの全体の多くをやっているように見えるエラー

*** Settings *** 
Library JSONLibrary 
Library OperatingSystem 
Library unicodelist.py 
Library Collections 

*** Test Cases *** 
test json data1 

    ${json_obj}= Get file code.json 
    ${getfile}= evaluate json.loads('''${json_obj}''') json 
    #getfile contain json of list with dictionary 
    ${obj}= Convert To List ${getfile} 
    log to console ${obj} 
    #converted sucessfully 
    log to console " Display 1" 
    #just log 
    ${length}= get length ${obj} 
    log to console ${length} 
    ${list0} = Get From List ${obj} 0 
    log to console ${list0} 
    #list0 contain first dictionary element inside the list 
    ${convert}= Convert To Dictionary ${list0} 
    log to console ${convert} 
    # no error 
    log to console " Display 2" 
    ${get_item} = Get Dictionary Keys ${obj} 
    log to console ${get_item} 
    #error list' object has no attribute 'Keys' 
    log to console " Display 3" 
    ${get_item} = Copy Dictionary ${obj} 
    log to console ${get_item} 
    # error list' object has no attribute 'copy' 
+0

がJSONファイルであります "ID":40、 "名前": "中"、 "都市" "BB" }、 { "ID":30、 "名前": "大"、 "都市": "CC" }、 { "ID":35、 "portfolio_name": "大"、 "都市": "DD" は} ] – madhur

+0

コメントセクション内のコードやデータを入れないでください。あなたの質問を編集し、そこに追加情報を追加してください。 –

+0

@bryan、私は何度も試してみましたが、私のために働かなかったので、私はここに投稿しました – madhur

答えて

2

をスローします。

不要なコンバージョンをすべて削除すると、コードが機能します。また、よりわかりやすい変数名を使用すると役立ちます。

例:[ { "ID":29、 "名前": "小"、 "都市": "AA" }、 {ここで

*** Settings *** 
Library OperatingSystem 
Library Collections 

*** Test Cases *** 
test json data1 

    # ${json_data} is a string of characters 
    ${json_data}= Get file code.json 

    # ${obj_list} is a list of dictionaries 
    ${obj_list}= evaluate json.loads('''${json_data}''') json 
    log to console \nobj_list: ${obj_list} 

    # ${obj} is the first dictionary in the list 
    ${obj} = Get From List ${obj_list} 0 
    log to console obj: ${obj} 

    # ${keys} is a list of keys 
    ${keys} = Get Dictionary Keys ${obj} 
    log to console keys: ${keys} 

    # ${new_obj} is a copy of the original obj 
    ${new_obj} = Copy Dictionary ${obj} 
    log to console new_obj: ${new_obj} 
関連する問題