758560
void Tools::Upxcore(Handle<Value>& value,std::string& str){
if(value->IsArray()){
str += "[";
Array* arr = Array::Cast(*value);
int len = arr->Length();
for( int a = 0; a < len; a = a + 1 )
{
Handle<Value>nvalue = arr->Get(a);
Upxcore(nvalue,str);
if(a != len-1){
str += ',';
}
}
str +="]";
}else if(value->IsObject()){
str += "{";
Local<Object> obj = value->ToObject();
Local<Array> key_arr = obj->GetPropertyNames();
int len = key_arr->Length();
for( int a = 0; a < len; a = a + 1 )
{
Handle<Value>nkey = key_arr->Get(a);
Handle<Value>nvalue = obj->Get(nkey);
Upxcore(nkey,str);
str += ":";
Upxcore(nvalue,str);
if(a != len-1){
str += ',';
}
}
str += "}";
}else if(value->IsString()){
String::Utf8Value keyUtf8Value(value);
std::string keyString = std::string(*keyUtf8Value);
str += "\""+keyString+"\"";
}
return;
}
看到这段代码的时候我已经在改汇编了- -