如何在Android Studio上使用Json?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android Studio上使用Json?相关的知识,希望对你有一定的参考价值。
下面是我的json文件结构。我想绘制图形(x轴:时间,y轴:“关闭”值)
{“符号”:“ AAPL”,“ stock_exchange_short”:“纳斯达克”,“ timezone_name”:“ America / New_York”,“当天”:{2018-10-19 15:59:00:{“开放”:“ 219.49”,“关闭”:“ 219.23”,“ high”:“ 219.61”,“ low”:“ 219.19”,“ volume”:“ 302415”,},2018-10-19 15:58:00:{“打开”:“ 219.62”,“关闭”:“ 219.48”,“ high”:“ 219.70”,“ low”:“ 219.48”,“ volume”:“ 173762”,},2018-10-19 15:57:00:{“打开”:“ 219.54”,“关闭”:“ 219.64”,“ high”:“ 219.66”,“ low”:“ 219.46”,“ volume”:“ 130992”,},2018-10-19 15:56:00:{“打开”:“ 219.71”,“关闭”:“ 219.57”,“ high”:“ 219.77”,“ low”:“ 219.57”,“ volume”:“ 113398”,},...}}
@Override
public void onResponse(JSONObject response) {
JsonArray arr = response.getJsonArray("intraday")??
我想获得的是每次都包含“数据”作为键和“封闭值”作为值的哈希图。谁能告诉我如何获得它
答案
您不能对所有关闭值使用相同的键('data')
[Hash map
键是unique
。如果添加重复的key
,则为overwritten
。
我在下面的答案中给了example
为hashmap
的unique key
(时间)。
您可以如下解析您的JSON
。
@Override
public void onResponse(JSONObject response) {
JSONObject intradayObj = response.getJSONObject("intraday");
HashMap<String, String> yourMap = new HashMap();
Iterator<?> keys = intradayObj.keys();
while(keys.hasNext()) {
String key = (String)keys.next();
if (intradayObj.get(key) instanceof JSONObject ) {
JSONObject dateTimeJsonObj = intradayObj.optJSONObject(key);
if (dateTimeJsonObj == null) {
continue;
}
// get close value
String closeValue = dateTimeJsonObj.getString("close")
Log.d("TAG", "Your Close value "+closeValue);
// here you can store close value
yourMap.put(getTime(key), closeValue)
}
}
// finally your hashmap will look like
// ("15:59:00", "219.23")
// ("15:58:00", "219.48")
// ("15:57:00", "219.64")
// ("15:56:00", "219.57")
}
从String
日期时间获取时间
public String getTime(String dateTime){
try {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = df.parse(dateTime);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String shortTimeStr = sdf.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return shortTimeStr;
}
希望它对您有帮助。 快乐编码
以上是关于如何在Android Studio上使用Json?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用android studio中的改造服务在请求中传递json
如何在android studio中通过带有密码的POST方法获取JSON数据