Method: Oj::Doc#fetch
- Defined in:
- ext/oj/fast.c
permalink #fetch(path = nil, default = nil) ⇒ Object
Hash
Returns the value at the location identified by the path or the current location if the path is nil or not provided. This method will create and return an Array or Hash if that is the type of Object at the location specified. This is more expensive than navigating to the leaves of the JSON document. If a default is provided that is used if no value if found.
@param [String] path path to the location to get the type of if provided
1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 |
# File 'ext/oj/fast.c', line 1331
static VALUE doc_fetch(int argc, VALUE *argv, VALUE self) {
Doc doc;
Leaf leaf;
volatile VALUE val = Qnil;
const char *path = 0;
doc = self_doc(self);
if (1 <= argc) {
path = StringValuePtr(*argv);
if (2 == argc) {
val = argv[1];
}
}
if (0 != (leaf = get_doc_leaf(doc, path))) {
val = leaf_value(doc, leaf);
}
return val;
}
|