JsonObject遍历(scala、alibaba_fastjson)

文章目录

示例json

{
    "sha1_virus_name":[
        {
            "sha1_id":20,
            "virus_name_id":"F3B989CFE05688E2",
            "virus_name_kin":"HVM:Worm/VBCode",
            "huorong_vrius_name":"HVM:Worm/VBCode.a"
        }
    ],
    "type_list":[
        {
            "type_name":"AT_pe",
            "id":1
        }
    ],
    "attribute_info":[
        {
            "attribute_id":"6ffc0af1e970706b",
            "attributes":"S(\".text\",at(\"PEHDR,0x200\"))",
            "id":3
        },
        {
            "attribute_id":"2ba0fcb46c07c40b",
            "attributes":"S(\".Text\")",
            "id":4
        }
    ],
    "file_list":{
        "sha1":"8c29ea9f46a94089ffa32c94d7e1085c544eea3c",
        "id":20
    },
    "all_info":[
        {
            "sha1_id":20,
            "type_id":1,
            "task_id":818
        }
    ],
    "sha1_attribute":[
        {
            "sha1_id":20,
            "attribute_id":"6ffc0af1e970706b"
        },
        {
            "sha1_id":20,
            "attribute_id":"2ba0fcb46c07c40b"
        }
    ],
    "main_sub":{
        "sub_id":20,
        "main_id":20
    }
}

使用记得压缩成一行

遍历

  1. 方式一:
//todo 1
println("todo 1------------------------------------------------")
val set: util.Set[String] = jsonObj.keySet()
set.forEach(println(_))

val collection: util.Collection[AnyRef] = jsonObj.values()
collection.forEach(println(_))
  1. 方式二:
//todo 2
println("todo 2---------------------------------------------------")
val iter: util.Iterator[Map.Entry[String, AnyRef]] = jsonObj.entrySet().iterator()
while (iter.hasNext){
  val map: Map.Entry[String, AnyRef] = iter.next()
  println(map.getKey + map.getValue)
}
  1. 方式三:
//todo 3
println("todo 3-----------------------------------------------------")
jsonObj.entrySet().forEach(entry=>{
  println(entry.getKey + entry.getValue)
})
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值