Thanks for calling it out Matthias. Assume it works for nested properties: > obj_handle->Get(propertyName)->Get(propertyName)
I was hoping for a nested map of maps obj[pname1][pname2][pname3] On Jun 21, 2012, at 5:47 AM, Matthias Ernst <[email protected]> wrote: > On Thu, Jun 21, 2012 at 12:49 AM, Mark Essel <[email protected]> wrote: >> Just wanted to say thanks for asking this question Guilherme. I know have >> access to a straight forward json parser for my native module. >> when walking the jsonObject that results from the parsing do you loop over >> properties to find the keys of interest or is there a rapid/hashlike lookup >> available? > > You're using it already: obj_handle->Get(propertyName) > >> >> ie >> Handle<Value> parseJson(Handle<Value> jsonString) { >> HandleScope scope; >> >> Handle<Context> context = Context::GetCurrent(); >> Handle<Object> global = context->Global(); >> >> Handle<Object> JSON = global->Get(String::New("JSON"))->ToObject(); >> Handle<Function> JSON_parse = >> Handle<Function>::Cast(JSON->Get(String::New("parse"))); >> >> // return JSON.parse.apply(JSON, jsonString); >> return scope.Close(JSON_parse->Call(JSON, 1, &jsonString)); >> } >> >> then on the returned Handle<Value> obj >> >> Local<Array> propertyNames = obj->GetPropertyNames(); >> for (int i=0;i < propertyNames->Length();++i) { >> // check if propertyName matches one I'm interested in >> } >> >> or recursively walk the json tree >> Handle<Value> findMatchingValue(const string &key, Handle<Value> obj) { >> HandleScope scope; >> Handle<Value> rval; >> Local<Array> propertyNames = obj->GetPropertyNames(); >> for (int i=0;i < propertyNames->Length();++i) { >> String::Utf8Value name = properNames->Get(i); >> if (name == *obj) { // check if propertyName matches one I'm >> interested in, not sure this will compile/function as desired >> rval = currentValue; >> } >> // if value type is an object or has children, gotta figure how to >> do this >> rval = findMatchingValue(key,value) >> } >> } >> >> >> >> >> On Sunday, June 10, 2012 5:30:10 PM UTC-4, Guilherme Silva wrote: >>> >>> Thanks everybody for your replies! I want to create a Script Manager that >>> encapsulates V8 and abstracts both js from json files ;). >> >> -- >> v8-users mailing list >> [email protected] >> http://groups.google.com/group/v8-users > > -- > v8-users mailing list > [email protected] > http://groups.google.com/group/v8-users -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
