3

次のようなデータを含むテキスト ファイル (new.txt) があります。

{
    "String1": {
        "Value1": {"One":"a","Two":"b","Three":"c"},
        "Value2": {"One":"aa","Two":"bb","Three":"cc"},
         }

     "String2": {
         "Value1": {"One":"a1","Two":"b1","Three":"c1"},
         "Value2": {"One":"aa1","Two":"bb1","Three":"cc1"},
         }
}

次の値を表示したい: String1,value1 {"One":"a","Two":"b","Three":"c"} String2,value2 および One that is "aa1"

どうすれば表示できますか..

4

2 に答える 2

3
import ast
with open('new.txt') as f:
    d = ast.literal_eval(f.read())
print d['String2']['Value2']['One']
于 2013-02-22T12:52:40.610 に答える
1

json のように見えますが、重要な部分がいくつか欠けています。以下と比較してください。いくつかの「,」がありません。new.txt のコピペか手動フォーマットエラーか?

{
    "String2": {
        "Value2": {
            "Three": "cc1", 
            "Two": "bb1", 
            "One": "aa1"
        }, 
        "Value1": {
            "Three": "c1", 
            "Two": "b1", 
            "One": "a1"
        }
    }, 
    "String1": {
        "Value2": {
            "Three": "cc", 
            "Two": "bb", 
            "One": "aa"
        }, 
        "Value1": {
            "Three": "c", 
            "Two": "b", 
            "One": "a"
        }
    }
}

json である必要がある場合は、Python で処理するのは非常に簡単です。

import json
with open('new.txt') as f:
    myjson = json.loads(f.read())
print myjson['String2']['Value2']['One']

ただし、eumiro回答のast importはかなり気の利いたように見えます。

于 2013-02-22T12:59:55.317 に答える