Существует ли javaToJS/jsToJava api, похожий на Rhino в J2V8?
Я благодарен за то, что вы предоставили такую отличную инфраструктуру J2V8, я встраиваю ее для своего проекта, Мой проект теперь использует движок Rhino. Я сталкиваюсь с одной проблемой. Я обнаружил, что в J2V8 нет javaToJS или jsToJava API, но Rhino имеет этот API. В нашем проекте мы используем javaToJS для прямого преобразования java-объекта в javascript-объект, для нас это необходимый и удобный API. Поэтому, не могли бы вы сделать нам одолжение, чтобы рассказать нам, как преобразовать Java-объект в Javascript в J2V8 или из Javascript в Java.
2 ответа
В нашем проекте у нас та же цель миграции из Rhino
в V8
, Я обнаружил, что для преобразования объектов V8 в объекты Java V8ObjectUtils.getValue()
может быть использован. Также при необходимости можно использовать TypeAdapter для предоставления пользовательских правил преобразования.
К сожалению, V8 не предоставляет возможности для преобразования объектов Java в объект V8. Но я нашел хороший проект, который делает это - v8-адаптер
Также я добавил в проект некоторое поведение, похожее на Rhino - например, считывать объекты V8 как карты Java или массивы V8 как списки Java в хост- объектах Java. А также некоторые другие улучшения. Таким образом, ваша миграция должна быть проще сейчас. Проект v8-адаптер активно развивается - не стесняйтесь вносить свой вклад, если что-то нужно.
J2V8 медленно умирает в Linux и Windows. Я рекомендую Javet, который является еще одним способом встраивания V8 в Java.
Преобразование типов между объектами Java и JS довольно просто.