feat: add Std::Json — JSON parser and serializer
- JsonValue struct supporting null, bool, number, string, array, object - Json_Parse(s: String) -> JsonValue: recursive descent parser - Json_Stringify(v: JsonValue) -> String: recursive serializer - Access helpers: Json_ObjectGet, Json_ObjectSet, Json_ObjectHas, Json_ArrayGet, Json_ArrayPush, Json_ArrayLen, Json_ObjectLen - Constructors: Json_Null, Json_Bool, Json_Number, Json_String, Json_Array, Json_Object - Type accessors: Json_IsNull, Json_AsBool, Json_AsNumber, Json_AsString - examples/json.bux: demonstrates parse, access, build programmatically - Add os_time, process, json to test-examples suite
This commit is contained in:
@@ -0,0 +1 @@
|
||||
[Package]
|
||||
@@ -0,0 +1,17 @@
|
||||
import Std::Io::{PrintLine};
|
||||
|
||||
struct JsonValue {
|
||||
tag: int,
|
||||
strVal: String,
|
||||
numVal: float64
|
||||
}
|
||||
|
||||
extern func bux_alloc(size: uint) -> *void;
|
||||
|
||||
func Main() -> int {
|
||||
let cap: uint = 4;
|
||||
let data: *JsonValue = bux_alloc(cap * sizeof(JsonValue)) as *JsonValue;
|
||||
data[0] = JsonValue { tag: 1, strVal: "first", numVal: 1.0 };
|
||||
PrintLine(data[0].strVal);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user