org.json.JSONException:找不到JSONObject [" ListeCar"]

时间:2016-04-21 10:33:07

标签: java json netbeans

我想用json库

用java读取这个JSON文件
"ListeCar": [
    {
        "id": "R",
        "size": "2",
        "Orientation": "Horizontal",
        "Position": {
            "Row": "2",
            "Column": "0"
        }
    }

这是我的java代码:

package rushhour;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import org.json.*;


public class JsonClass {
public static void main(String[] args) throws IOException, JSONException {


    try{
        JSONObject obj = new JSONObject(new FileReader("C:\\Users\\Nuno\\Desktop\\School\\clg-g41326\\RushHourJson.json"));

        JSONObject jsonObject =  (JSONObject) obj;

        JSONArray Liste = obj.getJSONArray("ListeCar");
        String listeCar = Liste.getJSONObject(0).getString("id");
        for (int i = 0; i <Liste.length(); i++) {
        String id = Liste.getJSONObject(i).getString("id");
        System.out.println(id);
        String size = Liste.getJSONObject(i).getString("size");
        System.out.println(size);
        String Orientation = Liste.getJSONObject(i).getString("Orientation");
        System.out.println(Orientation);
        String Position = Liste.getJSONObject(i).getString("Position");
        System.out.println(Position);    
        }
    }catch(JSONException e){
                e.printStackTrace();
                }
}
}

我在netbeans中这样做,这是我第一次使用Json! 我想从这个小json代码做一个system.out。我不知道为什么他没找到我放入新JSONObjet的文件...

1 个答案:

答案 0 :(得分:3)

{
      "ListeCar":[
       {
           "id":"R",
           "size":"2",
           "Orientation":"Horizontal",
           "Position":{
                "Row":"2",
                "Column":"0"
            }
      }]
}

尝试将其放在.json文件中 你的json无效......试着将它放在这个网站上以检查它的有效性.... http://json.parser.online.fr/

正确输出的代码......

public static void main(String[] args) throws IOException, JSONException, ParseException {
    try {
        JSONParser parser = new JSONParser();
        Object obj = parser.parse(new FileReader("/home/Desktop/temp.json"));
        JSONObject objJsonObject = new JSONObject(obj.toString());
        System.out.println(objJsonObject);
        JSONArray Liste = objJsonObject.getJSONArray("ListeCar");
        String listeCar = Liste.getJSONObject(0).getString("id");
        for (int i = 0; i < Liste.length(); i++) {
            String id = Liste.getJSONObject(i).getString("id");
            System.out.println(id);
            String size = Liste.getJSONObject(i).getString("size");
            System.out.println(size);
            String Orientation = Liste.getJSONObject(i).getString("Orientation");
            System.out.println(Orientation);
            String Position = Liste.getJSONObject(i).getJSONObject("Position").toString();
            System.out.println(Position);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

你忘了解析json ...这是在上面的代码中完成的....关于如何执行此操作的教程的链接如下:: http://crunchify.com/how-to-read-json-object-from-file-in-java/