일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 주키퍼
- 파이썬 강좌
- 파이썬 동시성
- play2 강좌
- 파이썬
- CORDA
- Akka
- 안드로이드 웹뷰
- 블록체인
- 이더리움
- 하이퍼레저 패브릭
- 스칼라
- 플레이프레임워크
- 스칼라 강좌
- 그라파나
- Actor
- Play2 로 웹 개발
- Golang
- play 강좌
- 하이브리드앱
- 엔터프라이즈 블록체인
- Adapter 패턴
- akka 강좌
- Hyperledger fabric gossip protocol
- Play2
- 파이썬 머신러닝
- 스칼라 동시성
- 파이썬 데이터분석
- 스위프트
- hyperledger fabric
- Today
- Total
HAMA 블로그
스칼라 강좌 (26) - JSON 다루기 본문
스칼라에서 JSON 데이터 다루기
* scala 기존제공하는것보다 json4s 나 spray-json 이 더 나은듯하다.
1. 디펜던시 추가
import scala.util.parsing.json._
2. 문자열에서 Json 객체 (Map 타입) 로 변경 - (1)
def main(arg : Array[String]): Unit ={
val result = JSON.parseFull("""
{"name": "Naoki", "lang": ["Java", "Scala"]}
""")
result match {
case Some(e) => println(e)
case None => println("Failed.")
}
} //print 결과 : Map(name -> Naoki, lang -> List(Java, Scala)
3. 문자열에서 Json 객체 (Map 타입) 로 변경 - (2)
def main(arg : Array[String]): Unit ={
val msg = """
{ "callid" : 1 ,
"gatewayid" : "gatewayid-1" ,
"switchid" : "switch-id" ,
"content" : "hi"
}
"""
val result = JSON.parseFull(msg)
result match {
case Some(e) => val res1 = e.asInstanceOf[Map[String,Any]];
print(res1.get("callid"))
case None => println("Failed.")
}
} //print 결과 : Some(1.0)
asInstanceOf 를 통해서 형변환을 수행 하였다.
case Some(map: Map[String,Any]) => print(map.get("callid"))
Some 내부에서 형변환 할 수 도 있다.
4. Json 객체 (Map 타입) 에서 문자열로 변경
의존성 추가 ( json4s 를 이용함)
libraryDependencies += "org.json4s" %% "json4s-native" % "3.2.10"
libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.2.10"
import
import org.json4s.jackson.Serialization
map 을 String 으로 변경
implicit val formats = org.json4s.DefaultFormats
Serialization.write(mutableMap)
'Scala' 카테고리의 다른 글
스칼라 강좌 (28) - Currying(커링) (0) | 2016.11.08 |
---|---|
스칼라 강좌 (27) - 모나드 (Monad) (0) | 2016.11.08 |
스칼라 강좌 (25) - 부분 함수 (Partial function) (0) | 2016.10.03 |
스칼라 강좌 (24) - 언더스코어 _ (0) | 2016.10.03 |
스칼라 강좌 (23) - Null 과 친구들 (None, Nil, Unit) (0) | 2016.09.30 |