JacksonParser:找不到文件或目录

时间:2013-01-28 06:47:24

标签: android json jackson filenotfoundexception

我正在尝试运行一个简单的jackson光标但是当我试图从Json文件获取数据时,它告诉“\ user.json(没有这样的文件或目录)”。

JacksonParser:

public class JacksonParser {

    static ObjectMapper mapper = new ObjectMapper();

    public static User mapping() throws JsonParseException,
            JsonMappingException, IOException {

        User user = mapper.readValue(new File("user.json"), User.class);
        if (user == null)
            return user;
        return user;
    }

}

User.java(pojo类):

public class User {
    public enum Gender {
        MALE, FEMALE
    };

    public static class Name {
        private String _first, _last;

        public String getFirst() {
            return _first;
        }

        public String getLast() {
            return _last;
        }

        public void setFirst(String s) {
            _first = s;
        }

        public void setLast(String s) {
            _last = s;
        }
    }

    private Gender _gender;
    private Name _name;
    private boolean _isVerified;

    public Name getName() {
        return _name;
    }

    public boolean isVerified() {
        return _isVerified;
    }

    public Gender getGender() {
        return _gender;
    }

    public void setName(Name n) {
        _name = n;
    }

    public void setVerified(boolean b) {
        _isVerified = b;
    }

    public void setGender(Gender g) {
        _gender = g;
    }

}

主要活动:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView textview = (TextView) findViewById(R.id.textView);
        User user = null;

        try {
            user = JacksonParser.mapping();
        } catch (Exception e) {
            e.getStackTrace();
        }

        textview.setText("" + user.getName() + " " + user.getGender() + " " + user.isVerified());
    }

}

user.json:

{
    "name" : { "first" : "Joe", "last" : "Sixpack" },
    "gender" : "MALE",
    "verified" : false,
}

更新:我更正了上一个错误,但坚持使用下一个错误..它告诉“\ user.json(没有这样的文件或目录)”我已经更新了问题。

1 个答案:

答案 0 :(得分:0)

你的问题根本与杰克逊无关,这更像是一般的Java问题。当您执行新的File(“user.json”)时,这将创建一个相对文件路径:它相对于您的应用程序工作目录。该文件不存在于当前工作目录中,因此Java无法找到该文件。您需要为文件提供更完整的路径才能工作。