Java 输出解析的Json数据

Java 输出解析的Json数据,java,android,json,android-studio,Java,Android,Json,Android Studio,我已经解析了一个Json文件,我想知道如何将Json文件中的信息显示在屏幕上?下面是Json的解析 public String loadJSONFromAsset() { String json = null; try { InputStream is = getAssets().open("JSON.json"); int size = is.available(); byte[] buffer = new byte[

我已经解析了一个Json文件,我想知道如何将Json文件中的信息显示在屏幕上?下面是Json的解析

public String loadJSONFromAsset()
{
    String json = null;
    try
    {
        InputStream is = getAssets().open("JSON.json");

        int size = is.available();

        byte[] buffer = new byte[size];

        is.read(buffer);
        is.close();

        json = new String(buffer, "UTF-8");
    }
    catch(IOException ex)
    {
        ex.printStackTrace();
        return null;
    }
    return json;
}
JSON:

如何将示例“4”放入变量中?我希望我的问题足够清楚,如果不清楚,请发表评论。我想做的只是输出其中一个数字。

解析JSON字符串

JSONObject obj = new JSONObject(jsonString);
JSONArray answers = obj.getJSONArray("answers");
for (int i = 0; i < answers.length(); i++) {
    // this will loop though all answers
    JSONObject answerObj = answers.getJSONObject(i);
    String answer = answerObj.getString("answer");        
}
JSONObject obj=新的JSONObject(jsonString);
JSONArray answers=obj.getJSONArray(“answers”);
for(int i=0;i
我建议搜索一些关于如何在java中解析JSON的示例,有很多示例和教程

解析JSON字符串

JSONObject obj = new JSONObject(jsonString);
JSONArray answers = obj.getJSONArray("answers");
for (int i = 0; i < answers.length(); i++) {
    // this will loop though all answers
    JSONObject answerObj = answers.getJSONObject(i);
    String answer = answerObj.getString("answer");        
}
JSONObject obj=新的JSONObject(jsonString);
JSONArray answers=obj.getJSONArray(“answers”);
for(int i=0;i

我建议搜索一些关于如何在java中解析JSON的示例,这里有很多示例和教程

您需要一个java JSON库

    final JSONObject j = new JSONObject(parsed);

    JSONArray answers = j.getJSONArray("answers");

    System.out.println(answers.get(4));

为此,您需要一个JavaJSON库

    final JSONObject j = new JSONObject(parsed);

    JSONArray answers = j.getJSONArray("answers");

    System.out.println(answers.get(4));

使用此示例代码,希望它能解决您的问题

 private void parseJson(String json) {
    try {
        JSONObject jsonObject = new JSONObject(json);
        JSONArray jsonArray = jsonObject.getJSONArray("answers");
        for (int i = 0; i < jsonArray.length(); i++){
            String answer = jsonArray.getJSONObject(i).getString("answer");
            Log.i(TAG,"answer: "+answer);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

}
private void-parseJson(字符串json){
试一试{
JSONObject JSONObject=新的JSONObject(json);
JSONArray JSONArray=jsonObject.getJSONArray(“答案”);
for(int i=0;i
使用此示例代码,希望它能解决您的问题

 private void parseJson(String json) {
    try {
        JSONObject jsonObject = new JSONObject(json);
        JSONArray jsonArray = jsonObject.getJSONArray("answers");
        for (int i = 0; i < jsonArray.length(); i++){
            String answer = jsonArray.getJSONObject(i).getString("answer");
            Log.i(TAG,"answer: "+answer);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

}
private void-parseJson(字符串json){
试一试{
JSONObject JSONObject=新的JSONObject(json);
JSONArray JSONArray=jsonObject.getJSONArray(“答案”);
for(int i=0;i
像这样读取Json文件总是使用try-and-catch块

try {
        JSONObject obj = new JSONObject(loadJSONFromAsset());
        JSONArray m_jArry = obj.getJSONArray("answers");

        for (int i = 0; i < m_jArry.length(); i++) {

            JSONObject jo_inside = m_jArry.getJSONObject(i);
            String answer = jo_inside.getString("answer");

        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
试试看{
JSONObject obj=新的JSONObject(loadJSONFromAsset());
JSONArray m_jArry=obj.getJSONArray(“答案”);
for(int i=0;i
像这样读取Json文件总是使用try-and-catch块

try {
        JSONObject obj = new JSONObject(loadJSONFromAsset());
        JSONArray m_jArry = obj.getJSONArray("answers");

        for (int i = 0; i < m_jArry.length(); i++) {

            JSONObject jo_inside = m_jArry.getJSONObject(i);
            String answer = jo_inside.getString("answer");

        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
试试看{
JSONObject obj=新的JSONObject(loadJSONFromAsset());
JSONArray m_jArry=obj.getJSONArray(“答案”);
for(int i=0;i
检查此项检查此项抱歉,可能会有一个愚蠢的问题,但我不必调用此方法吗?如果是这样,我是从oncreate还是从“loadJSONFromAsset”方法调用它?目前,我正在从oncreate方法调用“loadJSONFromAsset”方法,我应该对这个方法执行相同的操作,还是从第一个方法中调用它?在parseJson中调用loadJSONFromAsset方法assign output并完成。运行时间不长的任务不需要为这个make调用链接parseJson(loadjsonfromsetse())创建单独的线程@哈斯奈,谢谢你。然而,在“打开”我的Json文件的过程中,我有没有做错什么?getAssets()打开(“JSON.JSON”);线路。这里有什么问题吗?Json文件位于项目的“资产”文件夹中,我是否正确引用了它?因为我想我在这方面遇到了一些错误。您在这里遇到了什么错误getAssets().open(“JSON.JSON”);Line很抱歉问了一个可能很愚蠢的问题,但我不必调用此方法吗?如果是这样,我是从oncreate还是从“loadJSONFromAsset”方法调用它?目前,我正在从oncreate方法调用“loadJSONFromAsset”方法,我应该对这个方法执行相同的操作,还是从第一个方法中调用它?在parseJson中调用loadJSONFromAsset方法assign output并完成。运行时间不长的任务不需要为这个make调用链接parseJson(loadjsonfromsetse())创建单独的线程@哈斯奈,谢谢你。然而,在“打开”我的Json文件的过程中,我有没有做错什么?getAssets()打开(“JSON.JSON”);线路。这里有什么问题吗?Json文件位于项目的“资产”文件夹中,我是否正确引用了它?因为我想我在这方面遇到了一些错误。您在这里遇到了什么错误getAssets().open(“JSON.JSON”);线