0

こんにちは、通貨コンバーターを作っています

私はこの部分を作成しました... JSONファイルを取得しており、LOGCATでそれを見ることができます...今私の問題は、JSONを取得して文字列に変換し、それをfloat/doubleに解析する方法ですそれらを操作できるように...

これがこれまでのコードです

import com.actionbarsherlock.app.SherlockActivity;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;


import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends SherlockActivity {

    private static final String API_URL = "my own api";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btnConvert = (Button)findViewById(R.id.buttonConvert);

        btnConvert.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                AsyncHttpClient client = new AsyncHttpClient();
                client.get(API_URL, new AsyncHttpResponseHandler() {

                    @Override
                    public void onFailure(Throwable arg0, String arg1) {
                        // TODO Auto-generated method stub
                        super.onFailure(arg0, arg1);
                    }

                    @Override
                    public void onFinish() {
                        // TODO Auto-generated method stub
                        super.onFinish();
                    }

                    @Override
                    public void onStart() {
                        // TODO Auto-generated method stub
                        super.onStart();
                    }

                    @Override
                    public void onSuccess(String response) {

                        Log.i("CC", response);
                    }
                });

            }
        });



    }



}

私は今、締め切りが目の前に迫っていて、本当に途方に暮れています

4

4 に答える 4

1

json の解析は、文字列が [ で始まる場合は配列であることを意味し、この { で始まる場合はオブジェクトであることを意味します。それが配列の場合、このように取得します

JSONArray ja=new JSONArray(string);

それがオブジェクトの場合は、次のように取得します

JSONObject jo=new JSONObject(string)

次に、この配列またはオブジェクトの内部値を取得します。配列内にある場合は、インデックス値でオブジェクトを取得します

JSONObject jo=ja.getJSONObject(index);

最初は配列、2番目はオブジェクト、3番目の値は必要な文字列の3つのケースがあります。配列の場合は次のように取得します

JSONArray ja1=ja.getJSONArray(arraynamefromyourjsonstring);

それがオブジェクトの場合、次のようになります

JSONObject jo1=ja.getJSONObject(objectnamefromyourjsonstring);

そして最後はあなたが望む文字列です

String str=jo1.getString(stringnamefromyourjsonstring)
于 2013-09-29T17:43:25.060 に答える
0

まず、JSONObject を取得してから、次のようにそこから文字列を抽出し、目的のプリミティブ型に解析します。

JSONObject c = json.getJSONObject(i);
String vtype = c.getString(TAG_VTYPE);
float f=Float.parseFloat(vtype);

これはほんの一例です。明らかに、必要に応じて i, tag_type を置き換えます。

于 2013-09-29T15:21:15.910 に答える