如何在 Java Android App 中使用从 Webserver 检索到的 JSON 来动态创建和使用对象
Posted
技术标签:
【中文标题】如何在 Java Android App 中使用从 Webserver 检索到的 JSON 来动态创建和使用对象【英文标题】:How to use JSON retrieved from Webserver in Java Android App to create and use Objects dynamically 【发布时间】:2020-12-26 13:33:39 【问题描述】:我正在第一次构建一个带有 Web 服务器(带 LAMP 的 Raspberry Pi 4)连接的 Java android 应用程序。
有一个数据库表“products”,其中包含所有产品(Product_id、productName、price)。我正在通过 php API 检索 JSON 数组。
在应用程序启动时,我想获取所有产品并从中创建 Java 对象,这样我就可以在我的应用程序的片段中动态显示所有产品和价格。请注意,产品的数量和价格可能会发生变化,因此我需要这种方法来动态创建产品。
由于我以前从未这样做过,所以我被卡住了。我知道如何在我的代码中获得响应,但我需要帮助是将响应转换为 Java 对象。有什么建议你通常会怎么做?
这是我的 JSON:
"status": 200,
"info": [
"Product_id": "1",
"product": "Coca Cola",
"price": "3"
,
"Product_id": "2",
"product": "Orange Juice",
"price": "2.5"
,
"Product_id": "3",
"product": "Apple Juice",
"price": "2.5"
,
"Product_id": "4",
"product": "Beer",
"price": "1.5"
,
"Product_id": "5",
"product": "Energy Drink",
"price": "3"
,
"Product_id": "6",
"product": "Gin Tonic",
"price": "5"
,
"Product_id": "7",
"product": "Water",
"price": "1"
,
"Product_id": "8",
"product": "Soda",
"price": "1"
,
"Product_id": "9",
"product": "Ticket",
"price": "30"
]
【问题讨论】:
如果你想将你的json反序列化为你的数据模型来动态处理,那么你可以使用Gson库:YourData yourData = Gson().fromJson(json, YourData.class);就是这样,现在你有了一个 yourData 对象。 使用Gson
将您的响应 json 映射到 Java 对象。 Gson
【参考方案1】:
我刚刚使用了 Gson,正如 Manuel 和 Ibrahim 建议的那样。谢谢!
【讨论】:
以上是关于如何在 Java Android App 中使用从 Webserver 检索到的 JSON 来动态创建和使用对象的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Java (Servlet) 验证来自 In-App Billing Android Market 的签名数据