Scala json转map,map转json

本文介绍了如何在Scala中实现Map与JSON之间的转换。提供了两种方案,包括将mutable.Map[String, Object]转换为JSON字符串,以及将JSON字符串解析回mutable.HashMap[String, Object]。转换过程中特别处理了嵌套的JSON对象。" 72644892,5852623,Mac上安装SubversionEdge详细步骤,"['svn-mac', 'JAVA环境配置', 'SVN安装', '系统配置']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方案一:想map一样的json直接存值

import org.json.JSONObject

def main(args: Array[String]): Unit = {

    val jsonObj :JSONObject= new JSONObject()
    jsonObj.put("zxtotal", "1")
    jsonObj.put("zxtota1l", "11")
    println(jsonObj)
  }

方案二:

import java.util


import net.minidev.json.{JSONObject}
import net.minidev.json.parser.JSONParser
import scala.collection.mutable
import scala.collection.JavaConversions.mapAsScalaMap
import scala.collection.JavaConversions.mutableMapAsJavaMap




object JsonUtil extends App{


  /**
   * 将map转为json
   * @param map 输入格式 mutable.Map[String,Object]
   * @return
   * */
  def map2Json(map : mutable.Map[String,Object]) : String = {


    val jsonString = JSONObject.toJSONString(map)


    jsonString
  }




  /**
   * 将json转化为Map
   * @param json 输入json字符串
   * @return
   * */
  def json2Map(json : String) : mutable.HashMap[String,Object] = {


    val map : mutable.HashMap[String,Object]= mutable.HashMap()


    val jsonParser =new JSONParser()


    //将string转化为jsonObject
    val jsonObj: JSONObject = jsonParser.parse(json).asInstanceOf[JSONObject]


    //获取所有键
    val jsonKey = jsonObj.keySet()


    val iter = jsonKey.iterator()


    while (iter.hasNext){
      val field = iter.next()
      val value = jsonObj.get(field).toString


      if(value.startsWith("{")&&value.endsWith("}")){
        val value = mapAsScalaMap(jsonObj.get(field).asInstanceOf[util.HashMap[String, String]])
        map.put(field,value)
      }else{
        map.put(field,value)
      }
    }
    map
  }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值