Java JSON解析:将JSON数据填充到UserAccountBalance对象
String json = '{
"arg": {
"channel": "balance_and_position",
"uid": "77982378738415879"
},
"data": [{
"pTime": "1597026383085",
"eventType": "snapshot",
"balData": [{
"ccy": "BTC",
"cashBal": "1",
"uTime": "1597026383085"
}],
"posData": [{
"posId": "1111111111",
"tradeId": "2",
"instId": "BTC-USD-191018",
"instType": "FUTURES",
"mgnMode": "cross",
"posSide": "long",
"pos": "10",
"ccy": "BTC",
"posCcy": "",
"avgPx": "3320",
"uTime": "1597026383085"
}],
"trades": [{
"instId": "BTC-USD-191018",
"tradeId": "2",
}]
}]
}';
UserAccountBalance accountBalance = new UserAccountBalance();
// Parse the JSON string
JSONObject jsonObject = new JSONObject(json);
// Parse the "data" array
JSONArray dataArray = jsonObject.getJSONArray("data");
JSONObject dataObject = dataArray.getJSONObject(0);
// Parse the "balData" array
JSONArray balDataArray = dataObject.getJSONArray("balData");
JSONObject balDataObject = balDataArray.getJSONObject(0);
// Assign values to UserAccountBalance object
accountBalance.setBalData(new BigDecimal(balDataObject.getString("cashBal")));
accountBalance.setUtime(balDataObject.getString("uTime"));
accountBalance.setEventType(dataObject.getString("eventType"));
accountBalance.setTradeId(dataObject.getJSONArray("trades").getJSONObject(0).getString("tradeId"));
accountBalance.setInstId(dataObject.getJSONArray("posData").getJSONObject(0).getString("instId"));
该代码示例展示了如何使用Java解析JSON字符串并将其数据填充到UserAccountBalance对象中。
- 首先,将JSON字符串转换为JSONObject对象,以便方便地访问JSON数据。
- 接着,从JSONObject中提取“data”数组,并获取数组中的第一个元素(即第一个数据对象)。
- 然后,从数据对象中获取“balData”数组,并提取数组中的第一个元素(即第一个余额数据对象)。
- 最后,从余额数据对象中获取“cashBal”和“uTime”值,并将其赋值给UserAccountBalance对象的相应属性。
通过以上步骤,我们就成功地将JSON数据解析并填充到UserAccountBalance对象中,以便后续使用。
原文地址: http://www.cveoy.top/t/topic/tL7 著作权归作者所有。请勿转载和采集!