gpt4 book ai didi

java - 从 Klout API 将 JSON 解析为 Java

转载 作者:行者123 更新时间:2023-12-01 05:39:25 25 4
gpt4 key购买 nike

我正在制作一个 Web 应用程序,用于返回 Twitter 关注者的 Klout 分数详细信息。工作流程如下:

  1. 从 Twitter API 获取关注者的 twitter_id 。例如:Sachin Tendulkar 的 48,000 id 关注者。
  2. 获取第 1 步中收到的 twitter_id 的 Twitter 信息(屏幕名称、twitter_name、位置)。
  3. Klout API 获取 JSON 格式的 Klout 分数,然后将 JSON 解析为 Java。
  4. Klout API中,获取JSON格式的Klout主题,然后将JSON解析为Java。
  5. 将 Klout 和 Twitter 数据插入数据库。

我在将 JSON 解析为 Java 时遇到问题。请提出解决方案。提前致谢。
科马尔

最佳答案

看看Setting up a Klout application Direct Media Tips and Tricks 部分书。它解释了如何使用 dmt-klout图书馆来获取您正在寻找的信息。

如果你想重写这个库,你可以查看源代码。 dmt-klout 库依赖 json.org 类来解析 JSON 响应。例如:

public User(JSONObject json) {
nick = json.getString("nick");
id = new UserId(json.getString("kloutId"));
JSONObject scores = json.getJSONObject("score");
bucket = scores.getString("bucket");
score = scores.getDouble("score");
JSONObject scoreDeltas = json.getJSONObject("scoreDeltas");
dayChange = scoreDeltas.getDouble("dayChange");
weekChange = scoreDeltas.getDouble("weekChange");
monthChange = scoreDeltas.getDouble("monthChange");
}

在本例中,json 是使用查询用户时返回的 String 创建的 JSONObject。这个User类也用于影响力查询:

public Influence(JSONObject json) {
parseInfluence(json.getJSONArray("myInfluencers"), myInfluencers);
parseInfluence(json.getJSONArray("myInfluencees"), myInfluencees);
}

private void parseInfluence(JSONArray array, List<User> list) {
int count = array.length();
for (int i = 0; i < count; i++) {
list.add(new User(
array.getJSONObject(i).getJSONObject("entity")
.getJSONObject("payload")));
}
}

检索主题的方式略有不同:

public List<Topic> getTopics(UserId id) throws IOException {
List<Topic> topics = new ArrayList<Topic>();
JSONArray array = new JSONArray(KloutRequests.sendRequest(String.format(
KloutRequests.TOPICS_FROM_KLOUT_ID, getUserId(id).getId(), apiKey)));
int n = array.length();
for (int i = 0; i < n; i++) {
topics.add(new Topic(array.getJSONObject(i)));
}
return topics;
}

Topic 类的构造函数如下所示:

public Topic(JSONObject json) {
id = json.getLong("id");
name = json.getString("name");
displayName = json.getString("displayName");
slug = json.getString("slug");
displayType = json.getString("displayType");
imageUrl = json.getString("imageUrl");
}

关于java - 从 Klout API 将 JSON 解析为 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7524094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com