首页 > 解决方案 > 如何从 JSON 文件中读取和打印浮点数据?

问题描述

我尝试了这段代码并想从 JSON 文件中打印一些数据。我只想从mOrientationmLocalVelocity和中提取数据mLocalAcceleration。我需要 中的数据float。这是文件:

{
"motionAndDeviceRelated":{
    "mOrientation":[-0.00512593,-0.960999,-1.76169e-06],
    "mLocalVelocity":[0,0,0],
    "mWorldVelocity":[0,0,0],
    "mAngularVelocity":[0,0,0],
    "mLocalAcceleration":[0,0,0],
    "mWorldAcceleration":[0,0,0],
    "mExtentsCentre":[0,0.643195,-0.08594]
  },
  "carDamage":{
    "mCrashState":0,
    "mAeroDamage":0,
    "mEngineDamage":0.00078094
  }
}

这是代码:

import json

telemetry_file=open('C:/Users/szabo/Desktop/CREST2/crest2_formatted.json', 'r')
telemetry_data=telemetry_file.read()
obj=json.loads(telemetry_data)

for i in obj['motionAndDeviceRelated']:
    print(i)

我只得到这个:

mOrientation
mLocalVelocity
mWorldVelocity
mAngularVelocity
mLocalAcceleration
mWorldAcceleration
mExtentsCentre

标签: pythonjson

解决方案


您需要obj['motionAndDeviceRelated]按名称访问其中的值。就像是

wanted_data = ['mOrientation', 'mLocalVelocity', 'mLocalAcceleration']
for field in wanted_data:
    data = obj['motionAndDeviceRelated'][field]
    print(field, ':', data)

推荐阅读