Java

Python

import json
jsonstr = open(f"data.json", "r").read()
data = json.loads(jsonstr)

Shellscript (jq)

curl https://jsonplaceholder.typicode.com/todos/1 | jq

Query example

cat orderable.json | jq -r '.OrderableDBInstanceOptions | .[] | select(.StorageType == "io1" and .MultiAZCapable == true)'

Groovy

String > Object: JsonSlurper

def slurper = new JsonSlurper()
def result = slurper.parseText('{"person":{"name":"Guillaume", "age":100, "pets":["dog", "cat"]}}')

Object > String: JsonBuilder

new JsonBuilder(testMap).toString();
new JsonBuilder(testMap).toPrettyString()

Json Path

Json Path 는 Json 객체를 탐색하기 방법입니다. XPath 와 유사하다.

  • $ : ROOT 를 표시
  • $.ELEMENT_NAME: 하위 element 에 접근
  • $.object.property: 계층적으로 사용할 수 있음
  • $.array[0:], $.array[1:], $.array[*]: 배열을 처리 할 수 있음

Spring MvcResult Assertion 에서 유용하게 사용 가능하다

.andExpect(jsonPath("$.id", is(1)))
.andExpect(jsonPath("$.description", is("Lorem ipsum")))
.andExpect(jsonPath("$.title", is("Foo")));