And*_*all 3 c++ v8 node.js embedded-v8
我想在V8 C++函数中迭代一个Object.
的NodeJS:
node.addProperties({"user":"testuser","password":"passwd"};
Run Code Online (Sandbox Code Playgroud)
我想将"user"和"password",名称和值都传递给C++方法,该方法采用如下参数:
AddProperty(char * name, char * value);
Run Code Online (Sandbox Code Playgroud)
名称/值对的数量可能不同,因此我需要一个通用的解决方案.
我可以得到一些帮助,以便走上正轨.
我一直在为Node和V8编写更简单的C++包装器,但我对这个问题的想法已经不多了:)
假设最近有足够的v8(io.js或节点0.12),the_object从js传递的对象在哪里
Local<Array> property_names = the_object->GetOwnPropertyNames();
for (int i = 0; i < property_names->Length(); ++i) {
Local<Value> key = property_names->Get(i);
Local<Value> value = the_object->Get(key);
if (key->IsString() && value->IsString()) {
String::Utf8Value utf8_key(key);
String::Utf8Value utf8_value(value);
AddProperty(*utf8_key, *utf8_value);
} else {
// Throw an error or something
}
}
Run Code Online (Sandbox Code Playgroud)