I'm getting a JSON data from server and I need to parse it separately, when I do this with SimpleNamespace I get the problem. How can I parse this data?
Example Data:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"my.sku"
}
}
My Code:
import json
from types import SimpleNamespace
def callback(message):
x = json.loads(message.data, object_hook=lambda d: SimpleNamespace(**d))
print("Version: " + x.version)
print("Package Name: " + x.packageName)
print("Time Milis: " + x.eventTimeMillis)
print("Token: " + x.subscriptionNotification.purchaseToken)
print("Product: " + x.subscriptionNotification.subscriptionId)
print("Type: " + str(x.subscriptionNotification.notificationType))
Error:
AttributeError: 'types.SimpleNamespace' object has no attribute 'subscriptionNotification'
x = json.loads(message.data) print("Version: " + x.version) print("Package Name: " + x.packageName) print("Time Milis: " + x.eventTimeMillis) print("Token: " + x.subscriptionNotification.purchaseToken) print("Product: " + x.subscriptionNotification.subscriptionId) print("Type: " + str(x.subscriptionNotification.notificationType))AttributeError: 'dict' object has no attribute 'version'