为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中解析JSON

如何在Java中解析JSON

红颜莎娜 2019-05-20 16:48:25
}我有以下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"         }    ]}
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

如果想要从JSON创建Java对象,反之亦然,请使用GSON或JACKSON第三方罐等。


//from object to JSON 

Gson gson = new Gson();

gson.toJson(yourObject);


// from JSON to object 

yourObject o = gson.fromJson(JSONString,yourObject.class);

但是,如果只想解析一个JSON字符串并获取一些值,(或者从头开始创建一个JSON字符串以通过线路发送),只需使用包含JsonReader,JsonArray,JsonObject等的JaveEE jar。您可能想要下载该实现规范如javax.json。通过这两个jar,我能够解析json并使用这些值。


这些API实际上遵循XML的DOM / SAX解析模型。


Response response = request.get(); // REST call 

    JsonReader jsonReader = Json.createReader(new StringReader(response.readEntity(String.class)));

    JsonArray jsonArray = jsonReader.readArray();

    ListIterator l = jsonArray.listIterator();

    while ( l.hasNext() ) {

          JsonObject j = (JsonObject)l.next();

          JsonObject ciAttr = j.getJsonObject("ciAttributes");


查看完整回答
反对 回复 2019-05-20
  • 3 回答
  • 0 关注
  • 704 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信