【发布时间】:2020-05-25 04:22:20
【问题描述】:
我想要的json数据类型是
{"Sensor":[{"sensorName":"gyro","gyroX":-0.0026132816,"gyroY":0.0076529197,"gyroZ":-5.3145277E-4,"pitch":0.0015855022,"roll":0.0012841108,"yaw":-2.6810385E-4}],
"Sensor":[{"acceleration":"acceleration","accX":0.09337672,"accY":0.08858817,"accZ":9.783007,"angleXZ":0.54685944,"angleYZ":0.51881695}] ,
"Sensor":[{"magneticSensor":"magneticSensor","magX":164.58,"magY":-23.039999,"magZ":-160.62}]
}
但是
{"Sensor":[{"sensorName":"gyro","gyroX":-0.0026132816,"gyroY":0.0076529197,"gyroZ":-5.3145277E-4,"pitch":0.0015855022,"roll":0.0012841108,"yaw":-2.6810385E-4}]}
{"Sensor[{"acceleration":"acceleration","accX":0.09337672,"accY":0.08858817,"accZ":9.783007,"angleXZ":0.54685944,"angleYZ":0.51881695}]}
{"Sensor":[{"magneticSensor":"magneticSensor","magX":164.58,"magY":-23.039999,"magZ":-160.62}]}
我想知道如何得到我想要的数据格式
这是我的代码
fun jsonConverte(i : Array<Float> ,sensorName : String ) {
var obj: JSONObject = JSONObject()
var jArray: JSONArray = JSONArray()
var sObject : JSONObject = JSONObject()
try {
if(sensorName.equals("gyro")){
sObject.put("sensorName" , sensorName)
sObject.put("gyroX" , i.get(0))
sObject.put("gyroY" , i.get(1))
sObject.put("gyroZ" , i.get(2))
sObject.put("pitch" , i.get(3))
sObject.put("roll" , i.get(4))
sObject.put("yaw" , i.get(5))
jArray.put(sObject)
}else if (sensorName.equals("acceleration")){
sObject.put("sensorName" , sensorName)
sObject.put("accX" , i.get(0))
sObject.put("accY" , i.get(1))
sObject.put("accZ" , i.get(2))
sObject.put("angleXZ" , i.get(3))
sObject.put("angleYZ" , i.get(4))
jArray.put(sObject)
}else {
sObject.put("sensorName" , sensorName)
sObject.put("magX" , i.get(0))
sObject.put("magY" , i.get(1))
sObject.put("magZ" , i.get(2))
jArray.put(sObject)
}
obj.put("Sensor" , jArray) // jArray 를 json 으로
Timber.d("Test Checked is obj $obj")
} catch (e: JSONException) {
e.printStackTrace()
}
}
这样,我们要获取传感器数据,并将其转换为json并保存在文本中 能给我一点建议吗?
【问题讨论】:
标签: android arrays json kotlin