用jacksonapi解析Java中的JSON文件

用jacksonapi解析Java中的JSON文件,java,json,twitter,jackson,Java,Json,Twitter,Jackson,我有以下JSON文件,并希望解析它以创建tweet对象 tweet对象应该通过POJO类的定义包含用户id、用户名、文本、坐标和时间戳 {"text": "I think this would be good. Would hopefully light the fire in the later rounds if you knew you were losing", "user": {"id": "39455201", "name": "Elvis Sinosic"}, "lang": "e

我有以下JSON文件,并希望解析它以创建tweet对象

tweet对象应该通过POJO类的定义包含用户id、用户名、文本、坐标和时间戳

{"text": "I think this would be good. Would hopefully light the fire in the later rounds if you knew you were losing", "user": {"id": "39455201", "name": "Elvis Sinosic"}, "lang": "en","created_at": "Mon Mar 06 22:48:07 +0000 2017"}

{"text": "@Night_0f_Fire He's stuck in the alimony machine,, bust him out", "user": {"id": "2744192965", "name": "Mitch L"}, "lang": "en","created_at": "Mon Mar 06 22:47:53 +0000 2017"}
这就是我所做的

import com.fasterxml.jackson.databind.*;

import java.util.Arrays;
import java.util.List;
import java.util.Map;



public class Tweets {
    private long userID;
    private String userName;
    private String text;
    private List<int> coordinates;
    private String timestamp;
}

ObjectMapper mapper = new ObjectMapper();
ObjectMapper mapper = new ObjectMapper();
Tweets tweets = mapper.readValue(new("/Users/YusufNing/IdeaProjects/comp6700-2017/ass1/parsing/Tweets.java"), Tweets.class);

杰克逊非常坦率。使用用户id、用户名、文本、坐标和时间戳创建.java类。您可以将它们全部设置为字符串变量,从而使映射变得非常容易。映射数据后,您始终可以解析出来

ParsedWeets.class:

public class ParsedTweets
{
    private String id;
    private String username;
    private String text; 
    private String coordinates;
    private String timestamp;
}
实施:

ObjectMapper mapper = new ObjectMapper();
String jsonTweeterString = "{'text': 'I think this would be good. Would hopefully light the fire in the later rounds if you knew you were losing', 'user': {'id': '39455201', 'name': 'Elvis Sinosic'}, 'lang': 'en','created_at': 'Mon Mar 06 22:48:07 +0000 2017'}";

ParsedTweets tweets = mapper.readValue(jsonTweeterString, ParsedTweets.class);
要读取文件,请执行以下操作:

ParsedTweets tweets = mapper.readValue(new File("/Users/Kutam/IdeaProjects/comp6700-2017/ass1/tweets.js‌​on"), ParsedTweets.class);

杰克逊非常坦率。使用用户id、用户名、文本、坐标和时间戳创建.java类。您可以将它们全部设置为字符串变量,从而使映射变得非常容易。映射数据后,您始终可以解析出来

ParsedWeets.class:

public class ParsedTweets
{
    private String id;
    private String username;
    private String text; 
    private String coordinates;
    private String timestamp;
}
实施:

ObjectMapper mapper = new ObjectMapper();
String jsonTweeterString = "{'text': 'I think this would be good. Would hopefully light the fire in the later rounds if you knew you were losing', 'user': {'id': '39455201', 'name': 'Elvis Sinosic'}, 'lang': 'en','created_at': 'Mon Mar 06 22:48:07 +0000 2017'}";

ParsedTweets tweets = mapper.readValue(jsonTweeterString, ParsedTweets.class);
要读取文件,请执行以下操作:

ParsedTweets tweets = mapper.readValue(new File("/Users/Kutam/IdeaProjects/comp6700-2017/ass1/tweets.js‌​on"), ParsedTweets.class);


杰克逊非常坦率。使用用户id、用户名、文本、坐标和时间戳创建.java类。您可以将它们全部设置为字符串变量,从而使映射变得非常容易。数据映射后,您可以随时解析出来!不过,有一条建议是,在进行映射时,不要将其放在主线程上。当您从服务器获取数据时,您不希望网络活动阻塞主线程,这将导致性能低下。我当前正在构建ParsedTweets.java,我会尽快回复您实际的tweet来自json文件,因此它不是实时的,应该像ParsedTweets tweet=mapper.readValuenew Fileyour_json_file.json那么简单,ParsedTweets.class;杰克逊非常坦率。使用用户id、用户名、文本、坐标和时间戳创建.java类。您可以将它们全部设置为字符串变量,从而使映射变得非常容易。数据映射后,您可以随时解析出来!不过,有一条建议是,在进行映射时,不要将其放在主线程上。当您从服务器获取数据时,您不希望网络活动阻塞主线程,这将导致性能低下。我当前正在构建ParsedTweets.java,我会尽快回复您实际的tweet来自json文件,因此它不是实时的,应该像ParsedTweets tweet=mapper.readValuenew Fileyour_json_file.json那么简单,ParsedTweets.class;该实现是否也在相同的ParsedWeet.class中,以及如何将其作为输入/Users/Kutam/IdeaProjects/comp6700-2017/ass1/tweets.jsonParsedWeets tweets=mapper.readValuenew File/Users/Kutam/IdeaProjects/comp6700-2017/ass1/tweets.json,parsedWeets.class;我在原问题上发布了修订版,但仍然不起作用。您可以检查吗?错误:20,1 java:类、接口或枚举预期错误:21,1 java:类、接口或枚举预期错误:21,123 java:预期错误:21,125 java:已到达文件结尾,而parsingSounds则表示未找到您的文件或找不到您的文件。将tweets.json放在与代码相同的路径中,然后看看是否可以只放置tweets.json而不是完整路径。实现是否也在同一parsedtweet.class中,以及如何将其作为输入/Users/Kutam/IdeaProjects/comp6700-2017/ass1/tweets.jsonParsedTweets tweets=mapper.readValuenew File/Users/Kutam/IdeaProjects/comp6700-2017/ass1/tweets.json,ParsedTweets.class;我在原问题上发布了修订版,但仍然不起作用。您可以检查吗?错误:20,1 java:类、接口或枚举预期错误:21,1 java:类、接口或枚举预期错误:21,123 java:预期错误:21,125 java:已到达文件结尾,而parsingSounds则表示未找到您的文件或找不到您的文件。将tweets.json放在与代码相同的路径中,看看是否可以只放tweets.json而不是完整路径。