相关疑难解决方法(0)

如何在Java中解析JSON

我有以下JSON文本.如何可以解析它来获得pageName,pagePic,post_id,等?

{
   "pageInfo": {
         "pageName": "abc",
         "pagePic": "http://example.com/content.jpg"
    },
    "posts": [
         {
              "post_id": "123456789012_123456789012",
              "actor_id": "1234567890",
              "picOfPersonWhoPosted": "http://example.com/photo.jpg",
              "nameOfPersonWhoPosted": "Jane Doe",
              "message": "Sounds cool. Can't wait to see it!",
              "likesCount": "2",
              "comments": [],
              "timeOfPost": "1234567890"
         }
    ]
}
Run Code Online (Sandbox Code Playgroud)

java parsing json

971
推荐指数
26
解决办法
154万
查看次数

如何解析JSON并将其值转换为数组?

public static void parseProfilesJson(String the_json){
       try {
            JSONObject myjson = new JSONObject(the_json);

            JSONArray nameArray = myjson.names();
            JSONArray valArray = myjson.toJSONArray(nameArray);
            for(int i=0;i<valArray.length();i++)
            {
                String p = nameArray.getString(i) + "," + ValArray.getString(i);
                Log.i("p",p);
            }       

        } catch (JSONException e) {
                e.printStackTrace();
        }
    }
Run Code Online (Sandbox Code Playgroud)

如您所见,此示例代码将打印出JSON 的KEY,然后是JSONS的VALUES.

它将打印配置文件,如果json是这样的约翰:

{'profiles':'john'}
Run Code Online (Sandbox Code Playgroud)

这很酷.那很好,因为我可以使用这些变量.但是,如果JSON是这样的:

{'profiles': [{'name':'john', 'age': 44}, {'name':'Alex','age':11}]}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,整个值将是数组.基本上,我只想抓住那个数组(在这种情况下是"值")......然后把它变成JAVA可以使用的实际数组.我怎样才能做到这一点?谢谢.

java json

37
推荐指数
1
解决办法
14万
查看次数

如何解析JSON文件?

简单的情况 -

  1. 读一个json文件
  2. 发现所有键值对
  3. 比较键值对

我试过gson,来自json.org的软件包,但似乎无法与之相提并论.

有人可以在Java中提供一个关于如何获取文件的清晰样本,阅读它,最后使用json objec我可以从中获取键/值对.

考虑一下:

private void runThroughJson(JsonObject jsonObject) {
    for (final Entry<String, JsonElement> entry : jsonObject.entrySet()) {

        final String key = entry.getKey();
        final JsonElement value = entry.getValue();

        System.out.println(key + " - " + value);

        if (value.isJsonObject()) {
            runThroughJson(value.getAsJsonObject());
        } else {                
            int ix = value.getAsString().indexOf('[');
            int ig = value.getAsString().lastIndexOf(']');

            System.out.println(ix);
            System.out.println(ig);

            String a = value.getAsString().substring(ix, ig);
            JsonElement jsonElement = parser.parse(a);
            runThroughJson(jsonElement.getAsJsonObject());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

从逻辑上讲,它似乎没问题,但是,我得到一个例外:

Exception in thread "main" java.lang.IllegalStateException
    at com.google.gson.JsonArray.getAsString(JsonArray.java:133)
    at com.cme.esg.bk.TryGson.runThroughJson(TryGson.java:46)
    at …
Run Code Online (Sandbox Code Playgroud)

java json

9
推荐指数
1
解决办法
2万
查看次数

如何在Java中找到Chrome下载路径

我正在尝试使用Chrome浏览器用Webdriver编写测试,我想下载一些文件,当我点击下载链接时,文件会自动下载到下载文件夹.我想知道是否有办法找出下载文件夹的当前路径是什么(Win/Linux)是否有一些配置文件,Chrome保持设置?

Thans

java google-chrome download selenium-webdriver

6
推荐指数
1
解决办法
5621
查看次数