Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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
无法在android中将java.lang.String转换为JSONObject_Java_Android_Json - Fatal编程技术网

无法在android中将java.lang.String转换为JSONObject

无法在android中将java.lang.String转换为JSONObject,java,android,json,Java,Android,Json,这是一个被问了很多次的问题,但我没有从他们给出的答案中找到任何解决方案 下面是我编写的代码,用于读取原始文件夹中的json文件,以获取我的questions对象下的所有问题,但一直返回该错误。我搜索了一下,但没有找到任何能帮助我解决问题的方法。谢谢你的帮助 private void IterateQuestions() throws JSONException { obj = (JSONObject) new JSONTokener(loadJSONFromAsset()).n

这是一个被问了很多次的问题,但我没有从他们给出的答案中找到任何解决方案

下面是我编写的代码,用于读取原始文件夹中的json文件,以获取我的questions对象下的所有问题,但一直返回该错误。我搜索了一下,但没有找到任何能帮助我解决问题的方法。谢谢你的帮助

private void IterateQuestions() throws JSONException {

        obj = (JSONObject) new JSONTokener(loadJSONFromAsset()).nextValue();
       // obj = new JSONObject(loadJSONFromAsset());
       // questionMark = obj.getJSONObject("questions");


        Iterator<String> iter = obj.keys();
        // String check = questionMark.toString();
        // System.out.println("dnt be stubborn "+check + " this is check");
        while(iter.hasNext()){
            // get the object corresponding to the next key
            JSONObject questions= obj.getJSONObject(String.valueOf(iter.next()));

            String questions= country.getString("questions");
            Log.e("","questions: "+countryName);
            System.out.println("this is countryName "+countryName);

        }

    }
private void IterateQuestions()抛出JSONException{
obj=(JSONObject)新的JSONTokener(loadJSONFromAsset()).nextValue();
//obj=新的JSONObject(loadJSONFromAsset());
//问号=对象getJSONObject(“问题”);
迭代器iter=obj.keys();
//字符串检查=问号.toString();
//System.out.println(“请勿固执”+检查+“这是检查”);
while(iter.hasNext()){
//获取与下一个关键点对应的对象
JSONObject questions=obj.getJSONObject(String.valueOf(iter.next());
字符串问题=country.getString(“问题”);
Log.e(“,”问题:“+countryName”);
System.out.println(“这是countryName”+countryName);
}
}
下面是我的json中的部分代码

   {"questions":{"59006": {
  "qid": "59006",
  "topic": "0",
  "instructions": "",
  "text": "<p>Y<span>&epsilon;nya nn</span><span>ɔbae<span>&epsilon; kuo yi firi okuafo</span></span><span>ɔ h</span><span>ɔ</span></p>",
  "resource": "",
  "qtype": "SINGLE",
  "confirmed": "1",
  "public": "1",
  "flagged": "0",
  "updated_at": "2014-07-14 12:12:38",
  "rating": 0,
  "answers": [
    {
      "id": "254130",
      "text": "<p>Gyeene, nkyene, mako</p>",
      "value": "0",
      "solution": ""
    },
    {
      "id": "254131",
      "text": "<p>Mako, bor<span>ɔ</span>de<span>&epsilon;, nyaadewa</span></p>",
      "value": "1",
      "solution": ""
    },
    {
      "id": "254132",
      "text": "<p>Nkuruma, abor<span>ɔ</span>b<span>&epsilon;, dawuro</span></p>",
      "value": "0",
      "solution": ""
    },
    {
      "id": "254133",
      "text": "<p>Bankye, adua, s<span>ɔs<span>ɔ</span></span></p>",
      "value": "0",
      "solution": ""
    }
  ]
}
{“问题”:{“59006”:{
“qid”:“59006”,
“主题”:“0”,
“指示”:“,
“正文”:“Y&epsilon;nya nnɔbae&epsilon;kuo yi firi okuafoɔhɔ

”, “资源”:“, “qtype”:“SINGLE”, “已确认”:“1”, “公众”:“1”, “已标记”:“0”, 更新日期:“2014-07-14 12:12:38”, “评级”:0, “答案”:[ { “id”:“254130”, “文本”:“Gyene、nkyene、mako”, “值”:“0”, “解决方案”:” }, { “id”:“254131”, “正文”:“Mako,borɔde&epsilon;,Nyadewa

”, “值”:“1”, “解决方案”:” }, { “id”:“254132”, “正文”:“Nkuruma,aborɔb&epsilon;,dauro

”, “值”:“0”, “解决方案”:” }, { “id”:“254133”, “文本”:“Bankye,adua,sɔsɔ

”, “值”:“0”, “解决方案”:” } ] }
} }

无法将java.lang.String转换为JSONObject

因为qid、主题、说明,。。。不是JSONObject的,但您正在尝试使用以下行将其转换为JSONObject:

JSONObject questions= obj.getJSONObject(String.valueOf(iter.next()));

您有错误的logcat输出吗?
String.valueOf(iter.next())
String.valueOf部分不是必需的,因为
next()
返回一个
String
值。“答案”在JSON中是一个JSONArray,您的代码中没有关于
JSONObject问题
字符串问题
的逻辑。。。我认为这行不通。。。检查字符串是否真的应命名为
questions
。此代码甚至不应编译,您有两个名为questions的变量,以及未在任何位置声明的变量countryName和country。请在破坏自己之前检查自己…[@SoftServe他的JSON结构不同,因此他的
getJSONObject
调用在那里是正确的。@SoftServe如果你不发布你真正使用的代码,这不会有多大帮助。当前的代码不会编译,这不仅仅是因为你省略了一些部分。