Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中解析JSON文件时出错_Java_Android_Json_Arrays_Jsonobject - Fatal编程技术网

Java 在Android中解析JSON文件时出错

Java 在Android中解析JSON文件时出错,java,android,json,arrays,jsonobject,Java,Android,Json,Arrays,Jsonobject,我正在开发一个Android应用程序,它通过httpget从服务器获取数据,并以字符串形式存储响应(JSON格式)。我想解析字符串并获取JSONArray中的值 接收到的存储在字符串中的JSON为: {"code":1,"data":{"survey":{"id":null,"questionAnswers":[{"id":null,"min":"1","max":"5","step":"0.1","last":"4.7","text":"I am happy at work today","k

我正在开发一个Android应用程序,它通过
httpget
从服务器获取数据,并以字符串形式存储响应(
JSON
格式)。我想解析字符串并获取
JSONArray
中的值

接收到的存储在字符串中的JSON为:

{"code":1,"data":{"survey":{"id":null,"questionAnswers":[{"id":null,"min":"1","max":"5","step":"0.1","last":"4.7","text":"I am happy at work today","key":"Mood","testQuestionId":"1","datetime":"2014-04-29 15:47:02","answer":"4.7","testAnswerId":null}]}}
我想解析JSON数组
“questionAnswers”
,并检索
“answer”
中的值,该值位于
JSONObject

我使用的代码如下:

                JSONObject jsonObj_survey = new JSONObject(Get_MySurvey_JSON);
    JSONObject jsondata_survey = jsonObj_survey.getJSONObject("data");
    JSONArray jsonArray_questionAnswer = jsondata_survey
            .getJSONArray("questionAnswers");

    for (int i = 0; i < jsonArray_questionAnswer.length(); i++) {
        JSONObject questionAnswer = jsonArray_questionAnswer
                .getJSONObject(i);

        my_Company_survey_rating[i] = questionAnswer.getString("answer");
        // userdata.setMy_Company_Top_key_1(my_Company_Top_key[1]);

        Log.d("Rating", my_Company_survey_rating[i]);
    }    
请尝试以下代码-

  JSONObject jsonObj_survey = new JSONObject(Get_MySurvey_JSON);
                JSONObject jsondata_survey = jsonObj_survey.getJSONObject("data");

                JSONObject jsondata_surveyvalue = jsonObj_survey.getJSONObject("survey");
                JSONArray jsonArray_questionAnswer = jsondata_surveyvalue
                        .getJSONArray("questionAnswers");

                for (int i = 0; i < jsonArray_questionAnswer.length(); i++) {
                    JSONObject questionAnswer = jsonArray_questionAnswer
                            .getJSONObject(i);

                    my_Company_survey_rating[i] = questionAnswer.getString("answer");
                    // userdata.setMy_Company_Top_key_1(my_Company_Top_key[1]);

                    Log.d("Rating", my_Company_survey_rating[i]);

                           }
JSONObject jsonObj_survey=newjsonobject(Get_MySurvey_JSON);
JSONObject jsondata_survey=jsonObj_survey.getJSONObject(“数据”);
JSONObject jsondata_surveyvalue=jsonObj_survey.getJSONObject(“survey”);
JSONArray JSONArray_问题答案=jsondata_调查值
.getJSONArray(“问题答案”);
for(int i=0;i
希望这段代码能帮助你!! 如果它不起作用,请让我知道我会尽力帮助更多

您正试图从 用“数据”代替“调查”


把你的json放在这里,它显示无效的json。json中的大括号不匹配。你有4个大括号打开,只有3个小括号关闭。你能试着修复它并重新尝试你的代码吗?您可以参考相同的代码来解析json到对象…谢谢阿尔奇。成功了。我从服务器收到的文件也有一部分是空的。修复仍然有效。
  JSONObject jsonObj_survey = new JSONObject(Get_MySurvey_JSON);
                JSONObject jsondata_survey = jsonObj_survey.getJSONObject("data");

                JSONObject jsondata_surveyvalue = jsonObj_survey.getJSONObject("survey");
                JSONArray jsonArray_questionAnswer = jsondata_surveyvalue
                        .getJSONArray("questionAnswers");

                for (int i = 0; i < jsonArray_questionAnswer.length(); i++) {
                    JSONObject questionAnswer = jsonArray_questionAnswer
                            .getJSONObject(i);

                    my_Company_survey_rating[i] = questionAnswer.getString("answer");
                    // userdata.setMy_Company_Top_key_1(my_Company_Top_key[1]);

                    Log.d("Rating", my_Company_survey_rating[i]);

                           }
String yourJSONString = "{"code":1,"data":{"survey":{"id":null,"questionAnswers":[{"id":null,"min":"1","max":"5","step":"0.1","last":"4.7","text":"I am happy at work today","key":"Mood","testQuestionId":"1","datetime":"2014-04-29 15:47:02","answer":"4.7","testAnswerId":null}]}}}";

JSONObject jObj_main = new JSONObject(yourJSONString);
JSONObject jOb_data = jObj_main.getJSONObject("data");
JSONObject jOb_survey = jOb_data.getJSONObject("survey");
JSONArray jArray_questionAnswers = jOb_survey.getJSONArray("questionAnswers");