当前位置: 首页 > 工具软件 > flynn Python > 使用案例 >

python 创建json_从Json字符串创建Python对象

上官和惬
2023-12-01

一个到SeismicPortal的websocket连接正在向我发送一个JSON对象中打包的地震数据,这个JSON对象是一个多行字符串,例如:{

"action": "create",

"data": {

"geometry": {

"coordinates": [

-95.12,

16.52,

-52.0

],

"type": "Point"

},

"id": "20180303_0000046",

"properties": {

"auth": "UNM",

"depth": 52.0,

"evtype": "ke",

"flynn_region": "OAXACA, MEXICO",

"lastupdate": "2018-03-03T10:26:00.0Z",

"lat": 16.52,

"lon": -95.12,

"mag": 4.0,

"magtype": "m",

"source_catalog": "EMSC-RTS",

"source_id": "652127",

"time": "2018-03-03T07:09:05.0Z",

"unid": "20180303_0000046"

},

"type": "Feature"

}

}

我想把字符串中的数据转换成python对象。

正如您在JSON数据中看到的,有很多嵌套。当我在定义类及其嵌入性以构建一个结构的on对象时,它将保存来自JSON的所有数据,我在想也许有一个神奇的Python函数jsonstringtooobject可以定制一个类和所有子类来保存JSON中的所有数据并为其创建一个实例。

让我们在变量rawData中使用原始JSON字符串:rawData = """{"action":"create","data":{"geometry": {"type": "Point","coordinates": [... """

现在我要做的是:>>> import json

>>> quake = json.loads(rawData)

>>> quake['data']['properties']['flynn_region']

"OXACA_MEXICO"

但是语法中充满了括号和撇号。

我希望我能像这样访问数据:>>> import json

>>> quake = jsonStringToObject(rawData)

>>> quake.data.properties.flynn_region

"OXACA_MEXICO"

 类似资料: