无法从Json下方访问“端点”

时间:2019-03-08 09:27:27

标签: java arrays json

我希望所有URL出现在“ 端点” json下。

我尝试通过将String转换为JSON并随后使用JSON parsar来访问它。但是不能成功。


 {  
 "process":{  
  "id":"epsswitch/process/create-switch-bdl",
     "views":{  
        "selection":{  
          "uri":"//scp/sdf/sdf/s/df",
          "controller":"scp/switching/createswitchingbdl/controllers/selection"
        },
     "customers":{  
        "uri":"//scp/vv/vv/views/Customers",
        "controller":"scp/x/vc/controllers/customers"
     },
     "instructions":{  
        "uri":"//scp/df/fd/views/Information",
        "controller":"scp/switching/fd/controllers/instructions"
     },
     "confirm":{  
        "uri":"//scp/switching/createswitchingbdl/views/Confirmation",
        "controller":"scp/switching/createswitchingbdl/controllers/confirm"
     }
  },
  "endpoints":{  
     "data":{  
        "uri":"/epsswitch/create/data?cc=true&al=true&ac=true"
     },
     "bank":{  
        "uri":"/fdd/df/df/v1/bank/df/",
        "method":"GET"
     }
  }   
}

2 个答案:

答案 0 :(得分:0)

有多种解析JSON字符串的方法。我使用json简单(org.json.simple),java json是其中的一些。以下代码使用后者。它从json字符串中获取所有键,并检索每个键中的所有值。

String sJSONString = "<your json object here>";
JSONObject jsObjects   = new JSONObject(sJSONString);

//This is where you get your keys
Iterator<String> keys = jsObjects.keys();

//Use while if you need to poll for each key in JSON string
while(keys.hasNext())
{
    String keyN = keys.next();

    JSONObject jsoObjN = new JSONObject();

    jsoObjN = (JSONObject)jsObjects.get(keyN);

    //<Your logic here>
}

答案 1 :(得分:0)

下面的代码可以帮助我实现这一目标。

final JsonNode studentNode = mapper.readTree(sPhone.getProcessJson());
JsonNode process = studentNode.get("process");
JsonNode endpoints = process.get("endpoints");
  for (JsonNode jsonNode : endpoints) {
        JsonNode uri = jsonNode.get("uri");
   }