import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;@RestController
@RequestMapping("/api")
public class AccountController extends BaseController {
@RequestMapping(value = "/v1/test")
@ResponseBody
public void test() {
String json = new StrJson().invoke();
JSONObject obj = JSONObject.parseObject(json);
// 后面有各种数据类型,根据对象来选择使用的数据类型
JSONArray dataArray = obj.getJSONArray("data");
System.out.println(dataArray.size());
if (null != dataArray && dataArray.size() > 0)
for (int i = 0; i < dataArray.size(); i++) {
JSONArray mosaicsArray = analysisDataArray(dataArray, i);
if (null != mosaicsArray && mosaicsArray.size() > 0)
for (int j = 0; j < mosaicsArray.size(); j++) {
analysisMosaicsArray(mosaicsArray, j);
}
}
}
private JSONArray analysisDataArray(JSONArray dataArray, int i) {
String metaStr = dataArray.get(i).toString();
JSONObject dataObj = JSONObject.parseObject(metaStr);
JSONObject metaObj = dataObj.getJSONObject("meta");
JSONObject transactionObj = dataObj.getJSONObject("transaction");
int id = metaObj.getInteger("id");
String innerHash = metaObj.getString("innerHash");
String height = metaObj.getString("height");
JSONObject hash = metaObj.getJSONObject("hash");
String hashData = hash.getString("data");
String timeStamp = transactionObj.getString("timeStamp");
String amount = transactionObj.getString("amount");
String signature = transactionObj.getString("signature");
String fee = transactionObj.getString("fee");
String recipient = transactionObj.getString("recipient");
String type = transactionObj.getString("type");
String deadline = transactionObj.getString("deadline");
String message = transactionObj.getString("message");
String version = transactionObj.getString("version");
String signer = transactionObj.getString("signer");
JSONArray mosaicsArray = transactionObj.getJSONArray("mosaics");
System.out.println(id + "<--->" + innerHash + "<--->" + height
+ "<--->" + hashData + "<--->" + timeStamp + "<--->" + amount + "<--->" + signature + "<--->" + fee + "<--->" + recipient + "<--->" + type + "<--->" + deadline + "<--->" + message + "<--->" + version + "<--->" + signer);
return mosaicsArray;
}
private void analysisMosaicsArray(JSONArray mosaicsArray, int j) {
String mosaicsStr = mosaicsArray.get(j).toString();
JSONObject mosaicObj = JSONObject.parseObject(mosaicsStr);
String quantity = mosaicObj.getString("quantity");
JSONObject mosaicIdObj = mosaicObj.getJSONObject("mosaicId");
String namespaceId = mosaicIdObj.getString("namespaceId");
String name = mosaicIdObj.getString("name");
System.out.println(quantity + "<--->" + namespaceId + "<--->" + name);
}
private class StrJson {
public String invoke() {
return "{\"data\":[{\"meta\":{\"innerHash\":{},\"id\":5090786,\"hash\":{\"data\":\"64a0b766f00d11118cfb0e57fae653204f4b9e9dc390365346d7db93ecb63779\"},\"height\":2151746}," +
"\"transaction\":{\"timeStamp\":130236780,\"amount\":10000000,\"signature\":\"71d6093abb487d35a38b3a3dd9b09d211e5950d5e66d8c3fdb735143a7cae674847ac3be184b4ac14cf4efca2ec9c4041fd0a6bae634189861afcddf5e57840b\",\"fee\":50000,\"recipient\":\"NAFHIAMSVKJN6OZFVT6ULSAT2CQ3TCUKCJ5QUUHG\",\"type\":257,\"deadline\":130323180,\"message\":{},\"version\":1744830465,\"signer\":\"659391cc1662cbd886b062210fbf453d49130051d26536cfcc804059c57473fd\"}},{\"meta\":{\"innerHash\":{},\"id\":5090775,\"hash\":{\"data\":\"8ec0f2794157875b2594c7c05031de354228f40991ff9471ce6e5a8536f41e25\"},\"height\":2151743},\"transaction\":{\"timeStamp\":130236722,\"amount\":1000000,\"signature\":\"3a3dc231c09b1c4e6319818db0a792e76bc99d0574768ae6fb0db4450db969929c67a4c1bcaddb55adebd56290f535b4a0c1fd1e0b18178307c9a4f2b92eff04\",\"fee\":50000,\"recipient\":\"NAFHIAMSVKJN6OZFVT6ULSAT2CQ3TCUKCJ5QUUHG\"" +
",\"mosaics\":[{\"quantity\":10000000,\"mosaicId\":{\"namespaceId\":\"xarbon\",\"name\":\"xcu\"}}]," +
"\"type\":257,\"deadline\":130323122,\"message\":{},\"version\":1744830466,\"signer\":\"659391cc1662cbd886b062210fbf453d49130051d26536cfcc804059c57473fd\"}}]}";
}
}
}
JSON解析 JSONArray JSONObject
猜你喜欢
转载自blog.csdn.net/qq_34233080/article/details/90258398
今日推荐
周排行