java - 如何在 Java Android App 中使用从 Webserver 检索到的 JSON 来动态创建和使用对象
问题描述
我正在第一次构建一个带有 Web 服务器(带 LAMP 的 Raspberry Pi 4)连接的 Java Android 应用程序。
有一个数据库表“产品”,其中包含所有产品(产品 ID、产品名称、价格)。我正在通过 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"
}
]
}
解决方案
正如曼努埃尔和易卜拉欣建议的那样,我刚刚使用了 Gson。谢谢!
推荐阅读
- flutter - 如何在颤动中打印生成的 QR 图像
- flutter - 我在我的项目中使用了地理编码包,一些注意事项
- java - Json 仅在有条件时忽略字段
- sql - Teradata - 如何在一个时间段内对数据进行分组
- selenium - 在 Testng 中的套件套件的 BeforeSuite 问题
- javascript - 在 LightningChart 中更改 LineSeries 和/或 AreaSeries 的笔触颜色
- node.js - 使用 Node.js 的 Cloud Scheduler API 客户端调用 runJob() 时出现 PERMISSION_DENIED 错误
- angular - 带有角度路由的 Spring Cloud Gateway
- .net - 避免在 Azure url 中使用 index.html
- python - coches.net 中使用请求的 403 响应