1// Copyright 2018 Google Inc. All rights reserved. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15import from "../lobster/" 16import monster_generated 17 18// Example how to interop with JSON. 19 20// Test loading some JSON, converting it to a binary FlatBuffer and back again. 21 22// First read the schema and JSON data. 23let schema = read_file("monster.fbs", true) 24let json = read_file("monsterdata.json", true) 25assert schema and json 26 27// Parse JSON to binary: 28let fb, err1 = flatbuffers_json_to_binary(schema, json, []) 29assert not err1 30 31// Access one field in it, just to check: 32let monster = MyGame_Sample_GetRootAsMonster(fb) 33assert monster.name == "Orc" 34 35// Convert binary back to JSON: 36let json2, err2 = flatbuffers_binary_to_json(schema, fb, []) 37assert not err2 38 39// The generated JSON should be exactly equal to the original! 40assert json == json2 41 42// Print what we've been converting for good measure: 43print json 44