jiakaijin9303 2018-09-27 07:30 采纳率: 0%
浏览 1654
已结题

在不确定的情况循环嵌套的JSON怎么解析?

结构大概是这样的
下面是模拟数据 要用"chian" 字段写一个
{
"datas" : [ {
"payAmount" : 0,
"area" : "滁州市",
"userId" : "3638b61f7ef74d95ad6c14d8bc0644ff",
"chainCount" : 3,
"seq" : 1,
"userName" : "还是收到",
"receiveAmount" : 7.00,
"chian" : [ {
"amount" : 7.00,
"node" : 1,
"area" : "",
"debtorName" : "还是",
"accountId" : "AC20180810000616",
"debtorId" : "43ded7a2d9b647d3bd1d8a5f7125dab4",
"creditorId" : "3638b61f7ef74d95ad6c14d8bc0644ff",
"children" : [ {
"amount" : 6.00,
"node" : 2,
"area" : "",
"debtorName" : "士大夫",
"accountId" : "AC20180907000652",
"debtorId" : "265581f4b83540a09cd8fba8797e7065",
"creditorId" : "43ded7a2d9b647d3bd1d8a5f7125dab4",
"children" : [ ],
"creditorName" : "还是"
}, {
"amount" : 2.00,
"node" : 2,
"area" : "",
"debtorName" : "海阔天空",
"accountId" : "AC20180912000657",
"debtorId" : "a41dac80eaf940d58bcda3fe42faaaa3",
"creditorId" : "43ded7a2d9b647d3bd1d8a5f7125dab4",
"children" : [ {
"amount" : 4.00,
"node" : 3,
"area" : "",
"debtorName" : "士大夫",
"accountId" : "AC20180907000651",
"debtorId" : "265581f4b83540a09cd8fba8797e7065",
"creditorId" : "a41dac80eaf940d58bcda3fe42faaaa3",
"children" : [ ],
"creditorName" : "海阔天空"
} ],
"creditorName" : "还是"
}, {
"amount" : 90000000.00,
"node" : 2,
"area" : "",
"debtorName" : "士大夫",
"accountId" : "AC20180824000639",
"debtorId" : "265581f4b83540a09cd8fba8797e7065",
"creditorId" : "43ded7a2d9b647d3bd1d8a5f7125dab4",
"children" : [ ],
"creditorName" : "还是"
} ],
"creditorName" : "还是收到"
} ],
"rongziAll" : 90000008.00
}, {
"financeAmount" : 0,
"payAmount" : 0,
"area" : "抚顺市",
"userId" : "3a33493363594bdfaa304586ab62668c",
"chainCount" : 0,
"seq" : 2,
"userName" : "A",
"receiveAmount" : 0,
"chian" : "",
"rongziAll" : 0
}, {
"payAmount" : 0,
"area" : "佳木斯市",
"userId" : "c92fce2d51154fc597421c0c2d4f9171",
"chainCount" : 1,
"seq" : 3,
"userName" : "阿甘船运有限公司",
"receiveAmount" : 1500000.00,
"chian" : [ {
"amount" : 1500000.00,
"node" : 1,
"area" : "",
"debtorName" : "澳洲太和矿业有限公司",
"accountId" : "AC20180412000452",
"debtorId" : "1acc2644a97541e5a9291120e379f416",
"creditorId" : "c92fce2d51154fc597421c0c2d4f9171",
"children" : [ ],
"creditorName" : "阿甘船运有限公司"
} ],
"rongziAll" : 1500000.00
}, {
"financeAmount" : 0,
"payAmount" : 0,
"area" : "南昌市",
"userId" : "1260d446161c4d7c8220e5addccc30ed",
"chainCount" : 0,
"seq" : 4,
"userName" : "个人附件阿萨德",
"receiveAmount" : 0,
"chian" : "",
"rongziAll" : 0
}, {
"financeAmount" : 0,
"payAmount" : 0,
"area" : "伊犁哈萨克自治州",
"userId" : "3fdc805022814024872428a5cefc9793",
"chainCount" : 0,
"seq" : 5,
"userName" : "贺声耀",
"receiveAmount" : 0,
"chian" : "",
"rongziAll" : 0
}, {
"payAmount" : 7.00,
"area" : "滁州市",
"userId" : "43ded7a2d9b647d3bd1d8a5f7125dab4",
"chainCount" : 3,
"seq" : 6,
"userName" : "还是",
"receiveAmount" : 90000008.00,
"chian" : [ {
"amount" : 6.00,
"node" : 1,
"area" : "",
"debtorName" : "士大夫",
"accountId" : "AC20180907000652",
"debtorId" : "265581f4b83540a09cd8fba8797e7065",
"creditorId" : "43ded7a2d9b647d3bd1d8a5f7125dab4",
"children" : [ ],
"creditorName" : "还是"
}, {
"amount" : 2.00,
"node" : 1,
"area" : "",
"debtorName" : "海阔天空",
"accountId" : "AC20180912000657",
"debtorId" : "a41dac80eaf940d58bcda3fe42faaaa3",
"creditorId" : "43ded7a2d9b647d3bd1d8a5f7125dab4",
"children" : [ {
"amount" : 4.00,
"node" : 2,
"area" : "",
"debtorName" : "士大夫",
"accountId" : "AC20180907000651",
"debtorId" : "265581f4b83540a09cd8fba8797e7065",
"creditorId" : "a41dac80eaf940d58bcda3fe42faaaa3",
"children" : [ ],
"creditorName" : "海阔天空"
} ],
"creditorName" : "还是"
}, {
"amount" : 90000000.00,
"node" : 1,
"area" : "",
"debtorName" : "士大夫",
"accountId" : "AC20180824000639",
"debtorId" : "265581f4b83540a09cd8fba8797e7065",
"creditorId" : "43ded7a2d9b647d3bd1d8a5f7125dab4",
"children" : [ ],
"creditorName" : "还是"
} ],
"rongziAll" : 90000008.00
}, {
"financeAmount" : 0,
"payAmount" : 1500000.00,
"area" : "长春市",
"userId" : "1acc2644a97541e5a9291120e379f416",
"chainCount" : 0,
"seq" : 7,
"userName" : "澳洲太和矿业有限公司",
"receiveAmount" : 0,
"chian" : "",
"rongziAll" : 0
}, {
"financeAmount" : 0,
"payAmount" : 0,
"area" : "怀化市",
"userId" : "7869179be7b74951994de20448970fe3",
"chainCount" : 0,
"seq" : 8,
"userName" : "Shhshs",
"receiveAmount" : 0,
"chian" : "",
"rongziAll" : 0
}, {
"payAmount" : 2.00,
"area" : "贵阳市",
"userId" : "a41dac80eaf940d58bcda3fe42faaaa3",
"chainCount" : 1,
"seq" : 9,
"userName" : "海阔天空",
"receiveAmount" : 4.00,
"chian" : [ {
"amount" : 4.00,
"node" : 1,
"area" : "",
"debtorName" : "士大夫",
"accountId" : "AC20180907000651",
"debtorId" : "265581f4b83540a09cd8fba8797e7065",
"creditorId" : "a41dac80eaf940d58bcda3fe42faaaa3",
"children" : [ ],
"creditorName" : "海阔天空"
} ],
"rongziAll" : 4.00
}, {
"financeAmount" : 0,
"payAmount" : 90000010.00,
"area" : "澳门",
"userId" : "265581f4b83540a09cd8fba8797e7065",
"chainCount" : 0,
"seq" : 10,
"userName" : "士大夫",
"receiveAmount" : 0,
"chian" : "",
"rongziAll" : 0
} ],
"result" : "success",
"count" : 10,
"page" : "1",
"msg" : "0"
}

  • 写回答

7条回答 默认 最新

  • threenewbee 2018-09-27 07:40
    关注

    可以用递归,也可以不用。递归简单,就不说了。
    不用递归伪代码如下:

    当前层次 = 1;
    do
    {
    n = 遍历层次为1的,添加到列表,返回数量
    当前层次++;
    } while (n > 0);

    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿