如何使用Json在另一个键中调用键

时间:2018-07-19 18:19:18

标签: java android json

我正在尝试将一个结果放入另一个结果,但是我不确定如何做到这一点。如果我已经能够提取其他结果,但是我不能提取另一个键中的结果。 我正在做改造。我在寻找一些教程和视频课程,但我做不到。

enter image description here

package com.example.apiunion.apiunion.models;

import java.util.ArrayList;

public class UltimosLancados {

    private ArrayList<Lancamentos> dados;

    public ArrayList<Lancamentos> getDados() {
        return dados;
    }

    public void setDados(ArrayList<Lancamentos> dados) {
        this.dados = dados;
    }
}

public class Lancamentos implements Serializable {

    private String titulo;
    private String url;
    private String capa;
    private int id;

    public String getCapa() {
        return capa;
    }

    public void setCapa(String capa) {
        this.capa = capa;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}

1 个答案:

答案 0 :(得分:0)

解析提供的JSON示例:

Android框架类:JSONObject,JSONArray

package com.example.elletlar.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;


import org.json.JSONArray;
import org.json.JSONObject;


public class MainActivity extends AppCompatActivity {

    private static final String TAG = MainActivity.class.getName();

    private static final String TEST_STRING =
            "{\"orden\":\"2018-7-199\"," +
            "\"s\":\"2018-7-199\"," +
            "\"capitulos\":{" +
                "\"dados\":[" +
                    "{\"id\":\"169472\"," +
                     "\"capitulo\":\"75\"}, " +
                    "{\"id\":\"14952\"," +
                     "\"capitulo\":\"80\"}" +
                "]" +
            "}" +
        "}";

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

        try {
            final JSONObject root = new JSONObject(TEST_STRING);
            final String orden = root.getString("orden");
            Log.i(TAG, orden);
            final String s = root.getString("s");
            Log.i(TAG, s);
            final JSONObject capitulos = root.getJSONObject("capitulos");
            final JSONArray dados = capitulos.getJSONArray("dados");
            for (int i = 0; i < dados.length(); ++i) {
                final JSONObject currentObj = dados.getJSONObject(i);
                Log.i(TAG, currentObj.getString("capitulo"));
                Log.i(TAG, currentObj.getString("id"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

我已经将值插入Lancamentos对象数组的工作交给了您。我确定您已经完全解析了JSON,现在您知道该怎么做。