色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

cxf json 雙引號

洪振霞2年前8瀏覽0評論

如果你使用Apache CXF開發web服務并使用JSON傳輸數據,就會經常遇到JSON中雙引號的問題。

public interface UserService {
User getUser(String id);
}
public class UserServiceImpl implements UserService {
public User getUser(String id) {
User user = new User(id, "John", "Doe");
return user;
}
}
User user = clientProxy.getUser("1");
System.out.println(user.toString());

在這個例子中,服務端返回一個User對象,但是由于CXF默認使用Jackson庫序列化JSON,所以返回的JSON字符串中,User對象的屬性名和屬性值之間是使用雙引號包裹的。

{"firstName":"John","id":"1","lastName":"Doe"}

但是在前端JavaScript中,這種JSON格式會導致錯誤。因為JavaScript的解析器只能識別單引號包裹的字符串。此時可以使用CXF提供的JSONProvider類來解決這個問題。

在JSONProvider中,通過設置arrayKeys屬性,來指定需要使用單引號包裹的屬性名。在上面的例子中,我們設置了firstName和lastName兩個屬性名需要使用單引號,其他屬性名使用雙引號。

{'firstName':'John',"id":"1",'lastName':'Doe'}

這樣前端JavaScript就可以正確地解析JSON字符串了。