All Downloads are FREE. Search and download functionalities are using the official Maven repository.

au.com.dius.pact.model.JsonUtils.scala Maven / Gradle / Ivy

package au.com.dius.pact.model

import java.io.File

import groovy.json.JsonSlurper

import scala.collection.JavaConversions

object JsonUtils {
  def parseJson(file: File) = {
    javaObjectGraphToScalaObjectGraph(new JsonSlurper().parse(file))
  }

  def parseJsonString(json: String) = {
    if (json == null || json.trim.isEmpty) null
    else javaObjectGraphToScalaObjectGraph(new JsonSlurper().parseText(json))
  }

  def javaObjectGraphToScalaObjectGraph(value: AnyRef): Any = {
    value match {
      case jmap: java.util.Map[String, AnyRef] =>
        JavaConversions.mapAsScalaMap(jmap).toMap.mapValues(javaObjectGraphToScalaObjectGraph)
      case jlist: java.util.List[AnyRef] =>
        JavaConversions.collectionAsScalaIterable(jlist).map(javaObjectGraphToScalaObjectGraph).toList
      case _ => value
    }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy