Struct jsonnet::JsonValue
[−]
[src]
pub struct JsonValue<'a> { /* fields omitted */ }
Rust wrapper for owned libjsonnet JSON values.
These are used as return values from jsonnet native callbacks.
See JsonVal
for the borrowed version.
Methods
impl<'a> JsonValue<'a>
[src]
pub unsafe fn from_ptr(vm: &'a JsonnetVm, p: *mut JsonnetJsonValue) -> Self
[src]
Construct a JsonValue
from a pointer returned from a
low-level jsonnet C function.
Safety
It is up to the caller to ensure that p
was indeed allocated
by vm
.
pub fn as_ptr(&self) -> *const JsonnetJsonValue
[src]
Returns the inner pointer to this jsonnet value.
The returned pointer will be valid for as long as self
is.
pub fn as_str(&self) -> Option<&str>
[src]
Returns the value, if it is a string.
pub fn as_num(&self) -> Option<f64>
[src]
Returns the value, if it is a number.
pub fn as_bool(&self) -> Option<bool>
[src]
Returns the value, if it is a bool.
pub fn as_null(&self) -> Option<()>
[src]
Returns Some(())
if the value is null
.
pub fn from_str(vm: &'a JsonnetVm, v: &str) -> Self
[src]
Convert the given UTF8 string to a JsonValue.
Panics
Panics if v
contains an embedded nul character.
pub fn from_num(vm: &'a JsonnetVm, v: f64) -> Self
[src]
Convert the given double to a JsonValue.
pub fn from_bool(vm: &'a JsonnetVm, v: bool) -> Self
[src]
Convert the given bool to a JsonValue.
pub fn null(vm: &'a JsonnetVm) -> Self
[src]
Make a JsonValue representing null
.
pub fn from_array<T>(vm: &'a JsonnetVm, iter: T) -> Self where
T: IntoIterator<Item = JsonValue<'a>>,
[src]
T: IntoIterator<Item = JsonValue<'a>>,
Convert the given list into a JsonValue array.
pub fn from_map<'b, T>(vm: &'a JsonnetVm, iter: T) -> Self where
T: IntoIterator<Item = (&'b CStr, JsonValue<'a>)>,
[src]
T: IntoIterator<Item = (&'b CStr, JsonValue<'a>)>,
Convert the given map into a JsonValue object.
pub fn into_raw(self) -> *mut JsonnetJsonValue
[src]
Transfer ownership to a C caller (presumably a jsonnet function).
If you call this, it is up to you to ensure that the value is freed correctly (using the appropriate jsonnet function), or the memory will leak.