首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Klout将JSON解析为Java

从Klout将JSON解析为Java
EN

Stack Overflow用户
提问于 2011-09-23 04:01:47
回答 1查看 263关注 0票数 1

我正在制作一个web应用程序,返回Twitter追随者的Klout分数细节。工作流程如下:

  1. 从Twitter中获取追随者的twitter_id。48,000名Sachin Tendulkar追随者的身份证。
  2. 获取从步骤1收到的twitter_id的twitter信息(屏幕名称、twitter_id、位置)。
  3. Klout 中获取JSON格式的Klout分数,然后将JSON解析为。
  4. Klout 中获取JSON格式的Klout,然后将JSON解析为。
  5. 将Klout和Twitter数据插入数据库。

在将JSON解析为Java时,我面临着问题。请提出解决办法。提前谢谢。

克洛

EN

回答 1

Stack Overflow用户

发布于 2017-06-17 14:28:35

看一看直接媒体技巧和技巧书中的直接媒体技巧和技巧部分。它解释了如何使用dmt-klout库来获取您要查找的信息。

如果要重写库,可以查看源代码。dmt库依赖于json.org类来解析JSON响应。例如:

代码语言:javascript
复制
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类还用于影响查询:

代码语言:javascript
复制
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")));
    }
}

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

代码语言:javascript
复制
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类的构造函数如下所示:

代码语言:javascript
复制
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");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7524094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档