解析Facebook api响应(JSON)并检索数据

时间:2014-06-24 21:22:21

标签: java json facebook facebook-graph-api


我是一名Java开发人员,无法找到很多资源来开发基于Java的facebook应用程序。我在Java上开发一个Facebook应用程序,在某些时候,它会读取用户的收件箱。我能够创建一个登录流程并获得一个长期访问令牌。
但由于我对JSON概念不熟悉,我无法解析facebook响应以获取所需数据。
我已经阅读了一些教程并了解了JSON的基础知识,并且能够编写解析Simple JSON结构的代码,例如:

{
"id": 1,
    "firstname": "Brad",
"languages": [
    { "lang":"en" , "knowledge":"proficient" }, 
    { "lang":"fr" , "knowledge":"advanced" }, 
]
"job":{
            "place":"Silicon Valley",
            "name":"Microsoft",
   }  }


但是,我无法解析Facebook的回应,因为它看起来如此复杂,我已经提到各个地方的任何示例或示例代码来解析Facebook对/me/inbox请求的回复而且无法解决找到任何。
这里我正在寻找任何示例代码来解析收件箱JSON对象以获取我的应用程序所需的信息。
我们非常感谢您的努力。
谢谢。

编辑:我正在寻找普通JSP或Servelts中的示例代码。

2 个答案:

答案 0 :(得分:0)

Spring Social是你的朋友。不要陷入与Spring Security集成的困境(虽然有很多例子),因为JavaScript登录过程足以为用户获取一个身份验证令牌,然后您可以查询Facebook的API - 只需使用Spring Social作为一个库,用于隐藏JSON的复杂性,并为您提供直接使用的java对象。

答案 1 :(得分:0)

我最终不得不亲自去做。父JSON元素'data'包含我正在寻找的数据。然后我使用这个tutorial来格式化它并以类似Facebook的方式显示它。

我必须实际挑选出我实际需要的数据。希望这有帮助!

您必须使用JSONObjectJSONArray,您可以从getJSONObject()getJSONArray()获取。获得所需的JSONObjectJSONArray后,请使用getJSONString()获取所需的值。

上面提到的教程适用于Android,但总体思路仍然存在。如果您有任何疑问,请告诉我。我已经在JSPJava servlets中完成了一些工作。