第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Json、Java、解析(如何只獲取一部分 json

Json、Java、解析(如何只獲取一部分 json

森林海 2021-07-21 21:54:02
我需要接收以下 Json 的“提取”部分:https ://en.wikipedia.org/w/api.php ? format = json & action = query & prop = extracts & exintro & explaintext & redirects =1& titles = turkey使用我當(dāng)前的代碼,我收到了整個(gè) Json 并且不知道如何繼續(xù):public class MainActivity extends AppCompatActivity {private Button btnSendRequest;private TextView tvText;private RequestQueue mRequestQueue;private StringRequest stringRequest;private JsonObjectRequest jsonObjectRequest;private String url = "https://de.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&redirects=1&titles=ilmenau";@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    btnSendRequest = (Button) findViewById(R.id.btnSendRequest);    tvText = (TextView) findViewById(R.id.tvText);    btnSendRequest.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View view) {            //send request and print the response using volley library            sendRequestAndPrintResponse();        }    });}private void sendRequestAndPrintResponse() {    mRequestQueue = Volley.newRequestQueue(this);    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest            (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {        @Override        public void onResponse(JSONObject response) {            tvText.setText("Response : " + response.toString());          //  Log.i(TAG,"Response : " + response.toString());        }    }, new Response.ErrorListener() {        @Override        public void onErrorResponse(VolleyError error) {            tvText.setText("Error : " + error.toString());            //Log.i(TAG,"Error : " + error.toString());        }    });    mRequestQueue.add(jsonObjectRequest);}}所以目前我正在獲取整個(gè) Json,但我只需要獲取 Json 的“提取”部分。誰能幫我?
查看完整描述

3 回答

?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊

試試這個(gè)


try {

    JSONObject jsonObject = new JSONObject(response.toString());

    Iterator < String > keys = jsonObject.keys();


    while (keys.hasNext()) {


        String key = keys.next();

        String value = jsonObject.getString(key);


        Log.v("key", key);

        Log.v("value", value);


        if (key.equals("query")) {

            JSONObject jsonObject1 = new JSONObject(jsonObject.getString(key));

            Iterator < String > keysinner = jsonObject1.keys();


            while (keysinner.hasNext()) {

                String key1 = keysinner.next();

                String value1 = jsonObject1.getString(key1);


                Log.e("key1", key1);

                Log.e("value1", value1);


                if (key1.equals("pages")) {

                    JSONObject jsonObject2 = new JSONObject(jsonObject1.getString(key1));

                    Iterator < String > keyPagenumber = jsonObject2.keys();


                    while (keyPagenumber.hasNext()) {


                        String keyPageNumber = keyPagenumber.next();

                        String valuePagenumber = jsonObject2.getString(keyPageNumber);


                        Log.e("Pages key   :", keyPageNumber);

                        Log.e("Pages value :", valuePagenumber);


                        if (key1.equals("pages")) {

                            JSONObject jsonObjectPages = new JSONObject(jsonObject2.getString(keyPageNumber));

                            Iterator < String > keyPages = jsonObjectPages.keys();


                            while (keyPages.hasNext()) {

                                String keyPageDetail = keyPages.next();

                                String valuePageDetail = jsonObjectPages.getString(keyPageDetail);


                                Log.e("PagesDetail key   :", keyPageDetail);

                                Log.e("PagesDetail value :", valuePageDetail);


                            }

                        }

                    }

                }

            }

        }

    }

} catch (Exception e) {

    e.printStackTrace();

}

輸出

http://img1.sycdn.imooc.com//610262f40001c44112170194.jpg

查看完整回答
反對(duì) 回復(fù) 2021-07-29
?
三國紛爭

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊

要提取一塊 JSON 對(duì)象(另一個(gè) JSON 對(duì)象、整數(shù)、字符串等),您不必使用任何外部庫,如 GSON。您可以使用以下代碼管理它。

   JSONObject jObj = new JSONObject(response);                     
   String InterestString = jObj.getJSONObject("local").getString("interests");


查看完整回答
反對(duì) 回復(fù) 2021-07-29
?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

就像是


JSONObject pages = response.getJSONObject("query").getJSONObject("pages");

JSONObject firstPage = pages.getJSONObject(pages.names().get(0));

String extract = firstPage.getString("extract");

應(yīng)該管用。


查看完整回答
反對(duì) 回復(fù) 2021-07-29
  • 3 回答
  • 0 關(guān)注
  • 671 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)