私のプログラムにはJSONクラスが与えられており、その中の特定のアイテムにアクセスする必要があります。Pythonで入れ子になったJSONデータにアクセスする
データ構造の種類がわかりません。これは私の問題の一部である可能性があります。
私はjson.dumps()
とjson.load()
を試しましたが、どちらもエラーを返します。私も._dict_
を試しました。
私はエラーの下に受け取った: "apiAccessToken"
"the JSON object must be str, bytes or bytearray, not 'LambdaContext'," "'LambdaContext' object has no attribute '_dict_'," and "Object of type 'LambdaContext' is not JSON serializable." I don't know what else to do with this JSON data.
は、私がアクセスする必要があります
JSONデータに:
{
"context": {
"System": {
"apiAccessToken": "AxThk...",
"apiEndpoint": "https://api.amazonalexa.com",
"device": {
"deviceId": "string-identifying-the-device",
"supportedInterfaces": {}
},
"application": {
"applicationId": "string"
},
"user": {}
}
}
}
マイコード:コードの下
def postalCodeRetriever(intent, session, context):
deviceId = session['user']['userId']
jsoninfo = json.dumps(context)
json_dict = json.loads(jsoninfo)
print(str(json_dict))
TOKEN = context["System"]
print(TOKEN)
URL = "https://api.amazonalexa.com/v1/devices/" + deviceId + "/settings/address/countryAndPostalCode"
HEADER = {'Accept': 'application/json', 'Authorization': 'Bearer ' + TOKEN}
response = urllib2.urlopen(URL, headers=HEADER)
data = json.load(response)
postalCode = data['postalCode']
return build_response({}, build_speechlet_response(
"hello", postalCode, None, True))
質問を編集し、そのデータをどのように読み込み(解析する)のかを追加できますか? – BorrajaX
コードを投稿してください –