简体   繁体   中英

How to Serialize Funky Json (Python)

so im working with:

{ "enemies" : [
    { "name" : "squisher", "hp" : "17", "def" : "2", "pow" : "0", "burnTime" : "6"},
    { "name" : "fanged squisher", "hp" : "20", "def" : "3", "pow" : "2", "burnTime" : "6"},
    { "name" : "petunia", "hp" : "35", "def" : "4", "pow" : "7", "burnTime" : "8"},
    { "name" : "shagdaw", "hp" : "45", "def" : "7", "pow" : "9", "burnTime" : "6"},
    { "name" : "hellshag", "hp" : "53", "def" : "7", "pow" : "9", "burnTime" : "6", "fPow" : "8"},
    { "name" : "spiked squisher", "hp" : "23", "def" : "10", "pow" : "8", "burnTime" : "5"},
    { "name" : "ground spitter", "hp" : "75", "def" : "14", "pow" : "11", "burnTime" : "5"},
    { "name" : "crab", "hp" : "50", "def" : "16", "pow" : "20", "burnTime" : "5"},
    { "name" : "armed dillo", "hp" : "65", "def" : "19", "pow" : "24", "burnTime" : "6"},
    { "name" : "dumtillian", "hp" : "110", "def" : "9", "pow" : "29", "poison" : "2", "burnTime" : "5"},
    { "name" : "agent", "hp" : "65", "def" : "12", "pow" : "23", "burnTime" : "6"},
    { "name" : "ooze", "hp" : "145", "def" : "6", "pow" : "1", "poison" : "6", "burnTime" : "2"},
    { "name" : "rafflesia", "hp" : "165", "def" : "17", "pow" : "40", "burnTime" : "8"},
    { "name" : "logon", "hp" : "180", "def" : "28", "pow" : "37", "burnTime" : "11"},
    { "name" : "grunt", "hp" : "290", "def" : "24", "pow" : "54", "burnTime" : "6"},
    { "name" : "stalagmite", "hp" : "230", "def" : "49", "pow" : "41", "burnTime" : "1"},
    { "name" : "scorpee", "hp" : "260", "def" : "27", "pow" : "59", "poison" : "20", "burnTime" : "6"},
    { "name" : "batling", "hp" : "33", "def" : "6", "pow" : "10", "burnTime" : "7", "fPow" : "28"},
    { "name" : "ooze horror", "hp" : "6000", "def" : "8", "pow" : "32", "poison" : "8", "burnTime" : "3"},
    { "name" : "lumbercore", "hp" : "5800", "def" : "29", "pow" : "68", "burnTime" : "11"}
]}

I'm making an API that grabs this from a url but I don't see much of a way to serialize this as I've never worked with Json in this format. Anyone dealt with this or something similar?

Thanks in advance.

That's just normal JSON:

import json
import pprint

json_string = '''{ "enemies" : [
    { "name" : "squisher", "hp" : "17", "def" : "2", "pow" : "0", "burnTime" : "6"},
    { "name" : "fanged squisher", "hp" : "20", "def" : "3", "pow" : "2", "burnTime" : "6"},
    { "name" : "petunia", "hp" : "35", "def" : "4", "pow" : "7", "burnTime" : "8"},
    { "name" : "shagdaw", "hp" : "45", "def" : "7", "pow" : "9", "burnTime" : "6"},
    { "name" : "hellshag", "hp" : "53", "def" : "7", "pow" : "9", "burnTime" : "6", "fPow" : "8"},
    { "name" : "spiked squisher", "hp" : "23", "def" : "10", "pow" : "8", "burnTime" : "5"},
    { "name" : "ground spitter", "hp" : "75", "def" : "14", "pow" : "11", "burnTime" : "5"},
    { "name" : "crab", "hp" : "50", "def" : "16", "pow" : "20", "burnTime" : "5"},
    { "name" : "armed dillo", "hp" : "65", "def" : "19", "pow" : "24", "burnTime" : "6"},
    { "name" : "dumtillian", "hp" : "110", "def" : "9", "pow" : "29", "poison" : "2", "burnTime" : "5"},
    { "name" : "agent", "hp" : "65", "def" : "12", "pow" : "23", "burnTime" : "6"},
    { "name" : "ooze", "hp" : "145", "def" : "6", "pow" : "1", "poison" : "6", "burnTime" : "2"},
    { "name" : "rafflesia", "hp" : "165", "def" : "17", "pow" : "40", "burnTime" : "8"},
    { "name" : "logon", "hp" : "180", "def" : "28", "pow" : "37", "burnTime" : "11"},
    { "name" : "grunt", "hp" : "290", "def" : "24", "pow" : "54", "burnTime" : "6"},
    { "name" : "stalagmite", "hp" : "230", "def" : "49", "pow" : "41", "burnTime" : "1"},
    { "name" : "scorpee", "hp" : "260", "def" : "27", "pow" : "59", "poison" : "20", "burnTime" : "6"},
    { "name" : "batling", "hp" : "33", "def" : "6", "pow" : "10", "burnTime" : "7", "fPow" : "28"},
    { "name" : "ooze horror", "hp" : "6000", "def" : "8", "pow" : "32", "poison" : "8", "burnTime" : "3"},
    { "name" : "lumbercore", "hp" : "5800", "def" : "29", "pow" : "68", "burnTime" : "11"}
]}'''

data = json.loads(json_string)
# pprint.pprint(data)
print(data['enemies'][0]['name'])
# output:
# squisher

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM