首页 > 解决方案 > 如何将 JSObjectRef 转换为 JSValueRef

问题描述

我在 Android 上使用JavaScriptCore CAPI,我想将地图转换为JSObject没有stringify

JSObjectRef json = JSObjectMake(context, nullptr, nullptr);
for (int i = 0; i < keyCount; ++i) {
  std::string key = GetKeyName(keys, i);
  JSObjectSetProperty(context, json, ToJSString(context, key),
                      ToJSValue(context, MapGetAt(handle, key)),
                      nullptr, nullptr);
}

但最后,我得到了 aJSObjectRef而不是 aJSValueRef这是唯一可以返回的类型JSObjectCallAsFunctionCallback。我知道JSValueToObject可以转换JSValueRefJSObjectRef,有没有可以转换的函数?</p>

标签: javascriptcore

解决方案


重新解释演员表会帮助你。您不需要调用任何附加函数。JSObjectRef 始终是 JSValueRef。


推荐阅读