我是Android开发的新手,但通常会在线找到我的问题的答案。我整个周末都没有成功。
我尝试做的是从互联网上的JSON文件中读取数据。 看起来像这样
[
{
"id": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"rank": "1",
"price_usd": "9246.27",
"price_btc": "1.0",
"24h_volume_usd": "5659320000.0",
"market_cap_usd": "156378808114",
"available_supply": "16912637.0",
"total_supply": "16912637.0",
"max_supply": "21000000.0",
"percent_change_1h": "1.77",
"percent_change_24h": "-1.51",
"percent_change_7d": "-17.57",
"last_updated": "1520773466"
}]
它只是数组中的单个对象。不幸的是,它不符合我的样子。
我成功的做法是阅读HTML,然后找到我正在寻找的字段,但我想以更好的方式做到这一点。我已经观看了数十个视频并在线阅读了一些教程,但我无法让它发挥作用。我得到了异常,崩溃以及什么没有,并且愤怒地删除了所有这些并且我再次从头开始。我知道初学者的问题通常不受欢迎,所以我自己也不会问任何问题。我正在做这个小项目,以便学习一些编程。
如果有人可以向我展示或指出正确的方向,那将会很酷。如果我将它作为JSON而不是HTML接近它,我甚至无法读取数据。
答案 0 :(得分:0)
我建议使用Gson来解析JSON数据。在您的情况下,您可以使用以下代码示例轻松解决此问题。
让我们假设您已经创建了一个具有您从JSON获得的所有属性的类。
POJO类将如下所示。
public class Product {
public String id;
public String name;
public String symbol;
public String rank;
public String price_usd;
public String price_btc;
public String 24h_volume_usd;
public String market_cap_usd;
public String available_supply;
public String total_supply;
public String max_supply;
public String percent_change_1h;
public String percent_change_24h;
public String percent_change_7d;
public String last_updated;
}
现在使用Gson来解析以下类结构中的数据。当一个对象数组返回时,你需要做这样的事情。
Gson gson = new Gson();
Product[] products = gson.fromJson(jsonString, Product[].class);
简单!