小编Mar*_*nes的帖子

org.codehaus.jackson.map.JsonMappingException:无法从JSON字符串实例化类型[simple type,class models.Job]的值

我使用playframework并尝试将一些json反序列化为java对象.它工作得很好,在模型中解除了关系.我得到以下异常

输入代码hereorg.codehaus.jackson.map.JsonMappingException:无法从JSON String实例化类型[simple type,class models.Job]的值; 没有单字符串构造函数/工厂方法(通过引用链:models.Docfile ["job"])

我认为杰克逊结合比赛可以做到这一点:

这是json

{"name":"asd","filepath":"blob","contenttype":"image/png","description":"asd","job":"1"}
Run Code Online (Sandbox Code Playgroud)

这是我的代码,没什么特别的:

public static Result getdata(String dataname) {
        ObjectMapper mapper = new ObjectMapper();
        try {
            Docfile docfile = mapper.readValue((dataname), Docfile.class);
            System.out.println(docfile.name);
            docfile.save();

        } catch (JsonGenerationException e) {

            e.printStackTrace();

        } catch (JsonMappingException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

        return ok();
    }
Run Code Online (Sandbox Code Playgroud)

希望对我有帮助,谢谢马库斯

更新:

Docfile Bean:

package models;

import java.util.*;

import play.db.jpa.*;
import java.lang.Object.*;
import play.data.format.*;
import play.db.ebean.*;
import play.db.ebean.Model.Finder;
import play.data.validation.Constraints.*;
import play.data.validation.Constraints.Validator.*;

import javax.persistence.*;

import com.avaje.ebean.Page;

@Entity …
Run Code Online (Sandbox Code Playgroud)

rest json jackson playframework

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

jackson ×1

json ×1

playframework ×1

rest ×1