Я использую gson для десериализации файла json с объектом.Различные части json имеют массив «properties», и каждое свойство само является массивом, содержащим до 6 необязательных полей, которые всегда будут одного типа, с седьмым полем «default», которое может содержать логическое значение, строку илиинт.Мой класс объектов выглядит следующим образом:
public class Object {
private string name;
private Map<String, Property> properties;
//Code
}
class Property {
private String type;
...
@SerializedName("default")
private default_field;
//...
}
}
. Я вижу свои варианты создания либо создания 3 типов Property
, каждый из которых отличается только типом default_field
, либо всегда принимая его как строку ииметь дело с преобразованием его в правильный тип, когда мне нужно на самом деле использовать значение для чего-то.Вариант 2 может вызвать проблемы, если некоторые значения поля default_field содержат числа в виде строк, а другие содержат числа в виде int.Когда я в конечном итоге передам эти значения, я не смогу сказать, какого типа они возникли.
Есть ли какой-то расплывчатый смысл, принимая значение этого поля, все еще зная ожидаемый тип данных