こんにちはAndroidのプログラマー、奇妙なJSON(論理)エラー?
私は自分のアプリケーションでウェブサイトを解析中です。
これは、ウェブサイトである:https://raw.github.com/currencybot/open-exchange-rates/master/latest.json
このコードセグメントでの問題は、それがために金利を取得していないことです。 (あなたがウェブサイトを見れば)、それはArrayListの中に最初の割合であるので答えは、3.6733である必要があり
test.setText(currency_values.get(0).toString()); //test is a TextView
:このクラスをテストする
private class DownloadWebPageTask extends AsyncTask<String, Void, ArrayList<Double>>
{
protected ArrayList<Double> doInBackground(String... urls)
{
ArrayList<Double> response = new ArrayList<Double>();
for (String url : urls)
{
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try
{
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
InputStreamReader isr = new InputStreamReader(content);
StringBuilder sb = new StringBuilder();
char[] buffer = new char[1024];
while (isr.read(buffer) != -1)
{
sb.append(buffer);
}
JSONObject jobj = new JSONObject(sb.toString());
JSONObject ratesObj = jobj.getJSONObject("rates");
Iterator<String> keys = ratesObj.keys();
while (keys.hasNext())
{
response.add(Double.parseDouble(ratesObj.getString(keys.next())));
}
} catch (Exception e) {
e.printStackTrace();
}
}
return response;
}
@Override
protected void onPostExecute(ArrayList<Double> result)
{
currency_values = result;
}
、私は次のコード行を使用しました。ただし、82.894997が返されます。これは後でJPYで検出されます。
なぜこれが起こっていますか?誰にもこれに対する修正がありますか?
私はこのjsonファイルをAndroidの生のフォルダに保存して、それをあなたが見たように編集する必要がありますか?これは私のjsonではないので。別のユーザーが私をこのサイトに誘導しました:) – sameetandpotatoes
あなたのアップデートdmonのおかげで、JSONをどのように更新するのですか? – sameetandpotatoes
さて、私はあなたがJSONのコントロールを持っていると仮定しましたが、そうでなければ、ソートされていないフォーマットをソートできるモデルに手動で変換する必要があるだけです。 – dmon