구문 분석 (Parse)
JavaScript의 JSON.parse
에 바인딩하고 반환 값에 미리 선언했던 형태의 타입으로 입력합니다:
/* 바인딩할 json의 형태를 선언합니다. */type data = {names: array<string>}/* JS의 JSON.parse에 바인딩합니다. */@bs.scope("JSON") @bs.valexternal parseIntoMyData: string => data = "parse"let result = parseIntoMyData(`{"names": ["Luke", "Christine"]}`)let name1 = result.names[0]
var result = JSON.parse('{"names": ["Luke", "Christine"]}');var name1 = result.names[0];
여기서 data
는 JSON으로 추정될 수 있는 모든 타입들 입니다. 보시다시피 간단한 JSON.parse
호출로 컴파일됩니다. 일반적인 JS와 마찬가지로, 이 방법은 편리하지만 데이터가 올바른 형태이거나, 문법적으로 유효하다는 등의 보장은 없습니다.
문자열화 (Stringify)
Js.Json.stringify
를 사용합니다:
Js.log(Js.Json.stringifyAny(["Amy", "Joe"]))
console.log(JSON.stringify(['Amy', 'Joe']));
고급
Js.Json 모듈은 각 필드별로 JSON을 파싱하고자하는 고급 사용자들을 위해 조금 더 안전하고, 낮은 레벨의 구성 요소들을 제공합니다. API 문서의 예시를 참조하세요.