Java中JSON数组中的数据

Java中JSON数组中的数据,java,json,Java,Json,我随身携带着这个JSON数据,经过长时间的工作,我找不到一个方法来获得结果。我的目标是获取视频url的值,即使它是空的,但我已经做了一个检查,以检查是否有东西来了。我已经尝试了所有可能的方法,但我得到的是没有输出。检查一下我的问题并指导我正确的方向 { "data": [ { "type":"project-users", "id":"1", "attributes":

我随身携带着这个JSON数据,经过长时间的工作,我找不到一个方法来获得结果。我的目标是获取视频url的值,即使它是空的,但我已经做了一个检查,以检查是否有东西来了。我已经尝试了所有可能的方法,但我得到的是没有输出。检查一下我的问题并指导我正确的方向

{
"data":
    [
        {
            "type":"project-users",
            "id":"1",
            "attributes":
                   {
                    "video-url":null
                    },
            "links":
                {
                    "self": "http://localhost:3000/api/project-users/1"
                }
        },

        {   
            "type":"project-users",
            "id":"2",
            "attributes":
                {
                "video-url":null
                },
            "links":
                {
                "self":"http://localhost:3000/api/project-users/2"
                }
        },

        {
            "type":"project-users",
            "id":"3",
            "attributes":
                {
                "video-url":null
                },
            "links":
                {"self":"http://localhost:3000/api/project-users/3"
                }
        }

    ] }
为了从属性对象获取视频url的值,我这样做了,但失败了:

private void jSONLoadData(String response) throws JSONException{

    //talk about this in getting the video url
    JSONObject obj = new JSONObject(response);
    JSONArray jArray = obj.getJSONArray("data");

    for(int i=0; i<jArray.length() ; i++){
        JSONObject jsonObj = jArray.getJSONObject(i);
        String url = jsonObj.getJSONObject("attributes").getString("video_url");
        Log.e("URL", url);

        if(url.equals(null) || url.equals("")){
            Toast.makeText(getApplicationContext(), "Empty", Toast.LENGTH_SHORT)
                    .show();
        }
    }
}
private void jSONLoadData(字符串响应)抛出JSONException{
//在获取视频url时讨论这一点
JSONObject obj=新的JSONObject(响应);
JSONArray jArray=obj.getJSONArray(“数据”);

对于(int i=0;i我想,与其调用
getString(“video\u url”)
,不如先检查
video\u url
是否为空(即
isNull(“video\u url”)

请尝试使用下面的代码

private void jSONLoadData(String response) throws JSONException{

    //talk about this in getting the video url
    JSONObject obj = new JSONObject(response);
    JSONArray jArray = obj.getJSONArray("data");

    for(int i=0; i<jArray.length() ; i++){
        JSONObject jsonObj = jArray.getJSONObject(i);
        boolean isURLNull = jsonObj.getJSONObject("attributes").isNull("video_url");
        String url="";
        if(!isURLNull){
            url = jsonObj.getJSONObject("attributes").getString("video_url");
        }
        if(isURLNull || url.equals("")){
            Toast.makeText(getApplicationContext(), "Empty", Toast.LENGTH_SHORT)
                    .show();
        }
    }
}
private void jSONLoadData(字符串响应)抛出JSONException{
//在获取视频url时讨论这一点
JSONObject obj=新的JSONObject(响应);
JSONArray jArray=obj.getJSONArray(“数据”);

对于(int i=0;我之前也做过这件事,我得到了想要的结果,不同的是视频url是这样的:”,现在json数据中有null,我花了两个小时搜索它。这台机器很有用。非常感谢兄弟。