Насколько я знаю, Rhino не имеет встроенной возможности сериализации JSON.
Вероятно, вы видите ошибки, потому что json2.js использует оператор typeof value.toJSON
для определения объектарассматриваемый реализует свою собственную функцию сериализации.В объектах JavaScript неудачные поиски свойств возвращают undefined
.В Java-объектах при неудачных поисках членов генерируются исключения.
Один из подходов к решению этой проблемы заключается в изменении json2 таким образом, чтобы при прохождении структуры объекта:
- проверялось ли каждое значениеэтот вопрос происходит от базового
Object
прототипа JavaScript или базового класса Java Object
, а - применяет различную логику кодирования для экземпляров объектов Java и JavaScript.
Я не знаюНе знаю, решал ли кто-нибудь проблему сериализации произвольного объекта Java в JSON с помощью рефлексии.Если это так, то это может быть полезно.
Надеюсь, это поможет!