Files
llgo/c/cjson/_demo/mkjson/mkjson.go

44 lines
774 B
Go
Raw Normal View History

2024-05-14 11:49:37 +08:00
package main
import (
"github.com/goplus/llgo/c"
2024-05-17 22:33:57 +08:00
"github.com/goplus/llgo/c/cjson"
2024-05-14 11:49:37 +08:00
)
func main() {
mod := cjson.Object()
mod.SetItem(c.Str("name"), cjson.String(c.Str("math")))
syms := cjson.Array()
fn := cjson.Object()
fn.SetItem(c.Str("name"), cjson.String(c.Str("sqrt")))
fn.SetItem(c.Str("sig"), cjson.String(c.Str("(x, /)")))
syms.AddItem(fn)
v := cjson.Object()
v.SetItem(c.Str("name"), cjson.String(c.Str("pi")))
syms.AddItem(v)
mod.SetItem(c.Str("items"), syms)
2024-07-26 16:31:53 +08:00
cstr := mod.CStr()
2024-07-26 16:43:51 +08:00
str := c.GoString(cstr)
c.Printf(c.Str("%s\n"), cstr)
cjson.FreeCStr(cstr)
mod.Delete()
cjsonLoad(str)
}
func cjsonLoad(str string) {
mod := cjson.ParseString(str)
cstr := mod.Print()
2024-07-26 16:31:53 +08:00
c.Printf(c.Str("%s\n"), cstr)
cjson.FreeCStr(cstr)
2024-05-14 11:49:37 +08:00
mod.Delete()
}