zoukankan      html  css  js  c++  java
  • 所见即所得JSON

    题目

     {
     "A":"a1",
     "B":"b1",
     "C":{
       "D":"d1",
       "E":{
         "F":{
            "G":[{"H":"h1"},{"H":"h2"}]
             }
           }
         }
     }
    

    输出

    A:a1
    B:b1
    C.D:d1
    C.E.F.G[0].H:h1
    C.E.F.G[1].H:h2
    

    code

      def jsons(par: String, str: String): Unit = {
        val json = JSON.parseObject(str)
        json.entrySet().forEach(e=>{
          val value = e.getValue
          val key = e.getKey
          // 先找出当前路径
          val curPath = if (par.nonEmpty) par + ":" + key else "" + key
    
          // 如果获得的字符串以 { 开头则是一个对象 如果是以 [ 开头则是一个数组
          // 其他情况则是需要输出的字符串
          if (value.toString.startsWith("{")) {
            jsons(curPath, value.toString)
          } else if (value.toString.startsWith("[")) {
            val arr = JSON.parseArray(value.toString)
            arr.toArray.indices.foreach(i=>{
              val a = arr.get(i)
              // 如果是数组看起来还需要加上元素下标
              jsons(curPath+s"[$i]", a.toString)
            })
          } else {
            println(curPath +":"+ value.toString)
          }
        })
      }
    
  • 相关阅读:
    微信小程序入门
    webpack
    模块化开发(1)
    HTML5表单
    移动端入门
    MySQL
    js面向对象与PHP面向对象总结
    PHP
    Git指令
    Redux
  • 原文地址:https://www.cnblogs.com/chinashenkai/p/15386165.html
Copyright © 2011-2022 走看看