Я пытаюсь сериализациями этого внутреннего классаСериализации статического внутреннего класса FlexJSON
static class functionMessage{
String type = "function";
String id;
String function;
Object parameters;
public functionMessage(String ID, String Function, Boolean Parameters) {
this.id = ID;
this.function = Function;
this.parameters = (Boolean) Parameters;
}
}
с
new flexjson.JSONSerializer().exclude("*.class").serialize(
new functionMessage(
"container",
"showContainer",
Boolean.TRUE
)
)
но только {}
является retured.
Если я пытаюсь добавить public
перед каждой переменной-члена, он дает эту ошибку:
flexjson.JSONException: Error trying to deepSerialize
Caused by: java.lang.IllegalAccessException: Class flexjson.BeanProperty can not access a member of class with modifiers "public"
Я пытался следовать example, но он не показывает, как Person
построена, и я дон Не знаю, как это влияет на класс класса static
, поскольку я до сих пор довольно новичок в Java.
Я также попытался прочитать все решения, предоставленные для этой ошибки, данные Google, но все же ничего.
Как может flexjson.JSONSerializer()
вернуть все переменные-члены внутреннего класса static
?
Genius! Спасибо огромное! Извините за загрязнение сайта вопросами noob, но я все еще слишком новичок в Java, чтобы полностью разобраться в этих проблемах. Однажды я буду хорошо разбираться в этом удивительном языке! –
@ Gracchus Это не было очевидно. Некоторые анализаторы/генераторы JSON используют сами поля для сериализации объекта. 'flexjson' решил использовать мутаторы/аксессоры (например,' jackson'). Вы просто должны знать, что искать. –