小编isa*_*sah的帖子

无法从START_OBJECT标记中反序列化java.util.ArrayList的实例

我正在尝试POST一个List自定义对象.请求正文中的我的JSON是这样的:

{
    "collection": [
        {
            "name": "Test order1",
            "detail": "ahk ks"
        },
        {
            "name": "Test order2",
            "detail": "Fisteku"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

处理请求的服务器端代码:

import java.util.Collection;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;


@Path(value = "/rest/corder")
public class COrderRestService {

    @POST
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public Response postOrder(Collection<COrder> orders) {
        StringBuilder stringBuilder = new StringBuilder();
        for (COrder c : orders) {
            stringBuilder.append(c.toString());
        }
        System.out.println(stringBuilder);
        return Response.ok(stringBuilder, MediaType.APPLICATION_JSON).build();
    }
}
Run Code Online (Sandbox Code Playgroud)

实体COrder:

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class …
Run Code Online (Sandbox Code Playgroud)

java spring jax-rs resteasy jackson

102
推荐指数
7
解决办法
29万
查看次数

杰克逊,序列化参考的一个属性

序列化具有其他对象引用的Java对象时,我只需要序列化嵌套对象的一个​​属性(通常是外键的情况,因此序列化对象引用的"id"属性).其他一切.

例如,我有两个类,我需要序列化为JSON和XML(为清楚起见,删除了JPA注释):

关系:用户 - >(一对多)地址信息; 另外:AddressInformation - >(一对一)用户

@XmlRootElement
public class User {
    private String id;
    private String firstName;
    private String lastName;
    private String email;
    private AddressInformation defaultAddress;
    private Set<AddressInformation> addressInformation;

    public User() {
    }

    @JsonProperty(value = "id")
    @XmlAttribute(name = "id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @JsonProperty(value = "firstname")
    @XmlAttribute(name = "firstname")
    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    @JsonProperty(value …
Run Code Online (Sandbox Code Playgroud)

java serialization spring json jackson

6
推荐指数
1
解决办法
7971
查看次数

使用HttpEntity的consumeContent()

Android 中consumeContent()的类或org.apache.http.HttpEntity的目的是什么?

什么时候应该使用它可以有副作用吗?

我正在尝试修复应用程序中的错误,该应用程序使用HttpClient向服务器发出请求,有时如果某个特定请求失败,它将随后失败,尽管互联网是正常的.应用程序在输入流读取结束时调用此方法.

java android httpclient android-networking

1
推荐指数
1
解决办法
6613
查看次数

为什么我们必须将Collectors.toList()返回的List转换为List <Integer>,即使Stream的元素已经映射到Integer?

我正在将原始映射Stream到a Stream<Integer>,然后将元素收集到a List<Integer>.

为什么我必须将结果投射collect(Collectors.toList())List<Integer>我的映射器.map(str -> ((String)str).length())- 已映射到Integer

我的代码:

List list = Arrays.asList("test", "test2");
List<Integer> lengths = (List<Integer>) list.stream()
                                            .map(str -> ((String)str).length())
                                            .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

如果我不使用raw List,则无需强制转换:

List<String> list = Arrays.asList("test", "test2");
List<Integer> lengths = list.stream()
                            .map(str -> str.length())
                            .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

1
推荐指数
1
解决办法
810
查看次数