- 授权协议: GPL
- 开发语言: Rust
- 操作系统: 跨平台
- 软件首页: https://github.com/yuduanchen/rust-jsonnet
- 软件文档: https://github.com/yuduanchen/rust-jsonnet
软件介绍
rust-jsonnet 是 Google Jsonnet 对 rust 操作库.
github:https://github.com/yuduanchen/rust-jsonnet
google jsonnet 官方推荐库列表:http://google.github.io/jsonnet/doc/bindings.html
Google Jsonnet 介绍:
jsonnet 是google发布的新一代json协议。如果说现有的json是一种轻量级的数据交换协议的话,那么jsonnet好比json的2.0版本。赋予了json思想、给予了json注释、引用、算术运算、条件操作符,数组和对象内含、引入、函数、局部变量、继承等强大的能力。
hello world:
#[warn(unused_must_use)]
extern crate libc;
extern crate jsonnet;
use libc::c_char;
use std::str;
use std::error::Error;
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;
use std::ffi::CStr;
use std::ffi::CString;
use jsonnet::ffi::command::{ Jsonnet };
pub type JsonnetResult = Result<String, String>;
pub fn ctos(msg_buf : *const c_char)-> String{
let msg_str: &CStr = unsafe { CStr::from_ptr(msg_buf) };
let buf: &[u8] = msg_str.to_bytes();
let str_buf: &str = str::from_utf8(buf).unwrap();
let msg_data: String = str_buf.to_owned();
return msg_data;
}
pub fn version(){
let msg_buf: *const c_char = Jsonnet::version();
let msg_data: String = ctos(msg_buf);
println!("{:?}", msg_data);
}
pub fn evaluate_file(){
let filename : *const libc::c_char = CString::new("./t.jsonnet") .unwrap().as_ptr();
let json = match Jsonnet::evaluate_file(filename) {
Ok(json) => json,
Err(e) => panic!("{:?}", e)
};
println!("{:?}", json);
}
pub fn evaluate_snippet(){
let path = Path::new("./t.jsonnet");
let display = path.display();
let mut file = match File::open(&path) {
Err(why) => panic!("couldn't open {}: {}", display,
Error::description(&why)),
Ok(file) => file,
};
let mut s = String::new();
file.read_to_string(&mut s).unwrap();
let json_tpl : *const c_char = s.as_ptr() as *const c_char;
let json = match Jsonnet::evaluate_snippet(json_tpl) {
Ok(json) => json,
Err(e) => panic!("{:?}", e)
};
println!("{:?}", json);
}
fn main() {
version();
evaluate_file();
evaluate_snippet();
Jsonnet::destroy();
}
About Face 3
Alan Cooper、Robert Reimann、David Cronin / John Wiley & Sons / 2007-5-15 / GBP 28.99
* The return of the authoritative bestseller includes all new content relevant to the popularization of how About Face maintains its relevance to new Web technologies such as AJAX and mobile platforms......一起来看看 《About Face 3》 这本书的介绍吧!
