当前位置: 首页 > 面试题库 >

使用Java提取JSON字段

孔硕
2023-03-14
问题内容

我试图通过将页面ID作为参数来提取喜欢Facebook页面的人的详细信息。我提取了该页面的JSON内容,现在我要从中提取用户的名称和ID。

我该如何实现?

码:

JSONObject json = readurl("https://graph.facebook.com/pageid");
System.out.println(json.toString());
System.out.println("Page id is:"+json.get("id"));

JSON:

"likes":{
"data":[
    {
        "id":"*******",
        "name":"vv"
    },
    {
        "id":"********",
        "name":"abc"
    },

问题答案:

这样的代码就可以解决问题。

JSONObject json = readurl("https://graph.facebook.com/pageid");
JSONArray dataJsonArray = json.getJSONArray("data");
for(int i=0; i<dataJsonArray.length; i++) {
   JSONObject dataObj = dataJsonArray.get(i);
   String id = dataObj.getString("id");
   //Similarly you can extract for other fields.
}

基本上data是一个JSONArray,因为它以开头[。所以根本get行不通,您必须使用JSONArray。

注意: 我尚未编译此代码,但我想我给了您继续进行的想法。另请参考此链接以掌握在Java中解析JSON的基础知识。



 类似资料:
  • 我正在从Spark读取一个dynamodb表,这个表在一个字段中有一个JSON字符串,在其他字段中有字符串。我能够读取JSON字段,但不能读取嵌套的JSON字段。这不是使用dataframes的查询Json列的副本。这个问题解释了如何从JSON字符串中提取列,但没有解释嵌套的JSON列。 users.show(1) 示例数据集 我需要从col1(JSON结构)和ID字段中提取几个字段。我能够理解如

  • 我正在使用ApacheJMeter发出HTTP请求。 响应格式如下: HTTP/1.1 100继续 HTTP/1.1 200 OK x-powering-by: Express access-Control-low-source:*access-Control-low-method: HEAD, POST, PUT, GET, OPTIONS, DELETE access-Control-low-

  • 我使用的是ApacheJMeter5.3。我有一个HTTP请求,它返回JSON响应,如下所示: 有没有办法使用JSON提取器从“certificates”对象(本例中为4b89aa6c131)中提取第一个字段名?

  • 问题内容: 我有一个以下json文件,我正在寻找一种使用bash shell使用对象路径提取对象的方法。 例如,如果我说的话,那将返回我,。 我喜欢bash shell脚本,但了解有限,请帮忙! 谢谢 问题答案: 使用bash这样做会很困难。尽管我不确定它们的可靠性,但似乎确实有将 JSON解析器编写为shell脚本。我建议像jq这样的东西可以作为单独的程序运行并在管道中使用。它是一个独立的可执行

  • 如何使用splunk查询将日志中所需的数据提取到自定义字段中? 我尝试过使用rex命令进行多次查询,将日志中的某些部分数据提取到一些自定义字段中,但我从未在splunk显示所有输出字段的输出中看到这些数据。 请建议。

  • 我正在以JSON字符串的形式从数据库中获取数据: 如何从给定的JSON字符串中提取公司名称?