【发布时间】:2020-04-16 09:17:06
【问题描述】:
当它们只有一个响应(计划)时,我得到 JSON 对象,当它们有多个响应(计划)时,我得到 JSON 数组。如何处理 JSON 响应?
JSON ARRAY 当他们有多个计划时。
{
"ocrNumber": "0123456",
"userName": "dddd",
"plan": [{
"lat": "13.1234",
"long": "7.1234",
"imagepath": "sd / image / demo.jpg"
},{
"lat": "13.1234",
"long": "7.1234",
"imagepath": "sd / image / demo.jpg"
}]
}
JSON OBJECT 当他们只有一个计划时。
{
"ocrNumber": "0123456",
"userName": "dddd",
"plan": {
"lat": "13.1234",
"long": "7.1234",
"imagepath": "sd / image / demo.jpg"
}
}
【问题讨论】:
-
展示你的作品。
-
显示你的解析代码。除此之外:那是与 JSON 标准的类型不一致。在定义的键下,您应该始终获得定义的类型(例如 String、int、double)或结构(单个对象或数组)。您的 JSON 应始终包含数组,最终包含单个对象
-
您实际使用什么库来解析 JSON?如果是 Json.Net,请参阅 How to handle both a single item and an array for the same property using JSON.net。如果您使用的是 Jackson (Java),请参阅 JSON Parsing Array and Single Object with same name。如果是 Gson,请参阅 Gson: How do I parse polymorphic values that can be either lists or strings? 其他库应该有类似的解决方案,涉及某种转换器。
-
您可以使用 GSON,创建自定义类作为您的 json 响应并使用 GSON 库进行转换。