好的,所以我被模型困在解码此特定json的最后一项,“有效载荷” 始终为零,在此“有效载荷” 对象中我可以创建自己的json结构,我可以解码“文本”,但是当涉及到最后一个项目“有效载荷” 时,它不起作用并且始终为零。
我没有使用任何第三方库。
我的模型班。
struct DailougeFlowModel : Decodable {
// private enum CodingKeys : String, CodingKey {
// case responseId = "responseId"
// case queryResult = "queryResult"
// }
let responseId : String?
let queryResult : QueryResult?
}
struct QueryResult: Decodable {
// private enum CodingKeys : String, CodingKey {
// case fulfillmentText = "fulfillmentText"
// case fulfillmentMessages = "fulfillmentMessages"
// }
let fulfillmentText : String?
let fulfillmentMessages : [FulfillmentMessages]?
}
struct FulfillmentMessages: Decodable {
let text : TextModel?
let payLoad : Questions?
}
struct TextModel: Decodable {
let text : [String]?
}
struct Questions : Decodable{
let questions : [String]?
}
这个json是我从dailogeflow(V2)中得到的。我正在将聊天机器人集成到应用程序中。
{
"responseId": "2b879f78-cc05-4735-a7e8-067fdb53a81d-f6406966",
"queryResult": {
"fulfillmentMessages": [
{
"text": {
"text": [
"Text Here"
]
}
},
{
"text": {
"text": [
"Another Reply For Hi"
]
}
},
{
"payload": {
"questions": [
"Question One",
"Question Two",
"Question Three",
"Question Four"
]
}
}
]
}
}
答案 0 :(得分:1)
按照json响应中的说明指定内部模型名称,如果要指定自己的模型名称,则需要像第一个模型“ ResponseModel”一样在每个模型中设置一个枚举
gulp copy:second