使用java搜索JSon字符串

时间:2015-11-26 06:53:24

标签: java json

我是新来的JSon,我想搜索以下json字符串并获得所需的输出。 字符串:

{"status":"Success","code":"200","message":"Retrieved Successfully","reason":null,"
 "projects":
   [
       {
           "projectName": "example",
           "users":
           [
               {
                   "userName": "xyz",
                   "executions":
                   [
                       {
                           "status": "check",
                           "runs":
                           [
                               {
                                   "Id": "------",
                                   "Key": "---"
                               }
                           ],
                           "RCount": 1
                       }
                   ],
                   "RCount": 1
               }
           ],
           "RCount": 1
       },

就像我有很多项目,现在,如果我将projectname和username作为输入,我希望得到它的状态作为输出。 有可能吗?如果是的话怎么样?

3 个答案:

答案 0 :(得分:2)

您可以使用JSONObject

JSONObject json = new JSONObject(string);

JSONArray[] projectsArray = json.getJSONArray("projects");

for(int i = 0; i < projectsArray.length; ++i)
{
  String projectName = projectsArray[i].getString("projectName");
  ...
}

使用相同的方法获取用户。

答案 1 :(得分:0)

您可以使用rextester demo库。使用gson将您的json字符串转换为Map,然后您可以迭代map以获取所需的项目

The dimensions of one or more screenshots are wrong

答案 2 :(得分:0)

您可以使用Google gson将您的json数据结构映射到Java POJO。 示例: 您可以拥有项目类,其中包含用户的列表/数组。 用户类包含执行的列表/数组等。

Gson库可以轻松地将json映射到这些类作为对象,您可以更优雅的方式访问数据。

以下是一些参考文献: