API, который я использовал, имеет плохо структурированный JSON. Кто-то решил, что отправить список, который выглядит так:
features: [
"First one",
"second one",
{
"feature": "third one",
"hasAdditionalImpact": true
},
"forth one"
]
Я придумал способ получить эти данные в структуре, но это было эффективно:
struct MyStruct {
SensibleData: String,
SensibleTruthy: bool,
features: serde_json::Value,
}
Это не помогает мне нормализовать и проверять данные.
Есть ли хороший способ превратить этот первый объект во что-то вроде
features: [
{
"feature": "First one",
"hasAdditionalImpact": false
},
{
"feature": "second one",
"hasAdditonalImpact": false
},
{
"feature": "third one",
"hasAdditionalImpact": true
},
{
"feature": "forth one",
"hasAdditionalImpact": false
}
]
Я видел, что type_name можно использовать для проверки типа и выполнения постобработка после его анализа serde_json
, но я также видел, что type_name
предназначен для диагностических целей, поэтому я бы предпочел не использовать его для этой цели.