luajit-jsonnetjsonnet的lua开发包
luajit-jsonnet 是 针对google jsonnet的lua开发支持。
Name
luajit-jsonnet - The Google Jsonnet( operation data template language) for Luajit
Table of Contents
Description
jsonnet is a domain specific configuration language that helps you define JSON data. Jsonnet lets you compute fragments of JSON within the structure, bringing the same benefit to structured data that templating languages bring to plain text. The example below illustrates a few features -- referring to another part of the structure, overriding object fields, and string operations......
luajit-jsonnet - Use the luajit ffi jsonnet interface calls and operation
Google jsonnet documet: (http://google.github.io/jsonnet/doc/)
install
Simple executing the following command
make install
Methods
new
Create a luajit - jsonnet object
local jso = require "jsonnet" jsonnet = jso:new()
make
Create a new Jsonnet virtual machine.
syntax: res, err = jsonnet:make()
evaluate_file
Evaluate a file containing Jsonnet code, return a JSON string.
syntax: res,err = jsonnet:evaluate_file("t.jsonnet")
local jso = require "jsonnet" jsonnet = jso:new() jsonnet:make() res,err = jsonnet:evaluate_file("t.jsonnet") if err == nil then print(res) else print(err) end
evaluate_snippet
Evaluate a file containing Jsonnet code, return a JSON string.
syntax: res,err = jsonnet:evaluate_snippet(snippet)
local snippet = '{ person1: { name: "Alice", welcome: "Hello " + self.name + "!", }, person2: self.person1 { name: "Bob" },}' res,err = jsonnet:evaluate_snippet(snippet) if err == nil then print(res) else print(err) end
evaluate_file_multi
Evaluate a file containing Jsonnet code, return a number of JSON files. The returned character buffer contains an even number of strings, the filename and JSON for each
syntax: res,err = jsonnet:evaluate_file_multi("t.jsonnet")
evaluate_snippet_multi
Evaluate a string containing Jsonnet code, return a number of JSON files. The returned character buffer contains an even number of strings, the filename and JSON for each
syntax: res,err = jsonnet:evaluate_snippet_multi(snippet)
destroy
Shut down and release Jsonnet virtual machine.
syntax: res,err = jsonnet:destroy(vm)
local jso = require "jsonnet" jsonnet = jso:new() jsonnet:make() res,err = jsonnet:evaluate_file("t.jsonnet") jsonnet:destroy()