0

我有问题。我的应用程序不会从我的 Web 服务加载资源,因为它的格式已更改。

在我的 Web 服务返回一个 JSON 数组之前,如下所示:

[{"productid":2,"sku":"SKU-2","productname":"SMART NEW","productdesc":"description","category":"default category","price":2000.1,"picture":"http://10.23.20.50:8080/msos-ws/images/products/smart.gif","remarks":"remarks"}]

现在我猜它返回一个 JSON 对象:

{"product":[{"category":"default category","picture":"http://localhost:8080/msos-ws/images/products/smart.gif","price":"480.0","productdesc":"Dragon Flash Disk (Special)","productid":"7","productname":"Kingston 8GB","remarks":"remarks","sku":"SKU-7"}]}

这是我在后端的代码:

@GET
@Override
@Produces("application/json")
public List<Product> findAll() {
        return prodManager.getProducts();
}

我正在返回一个列表,所以它应该在数组中,对吧?

4

1 回答 1

0

你得到的是一个键/值对,其中键是

product

并且 1 元素数组是

[{"category":"default category","picture":"http://localhost:8080/msos-ws/images/products/smart.gif","price":"480.0","productdesc":"Dragon Flash Disk (Special)","productid":"7","productname":"Kingston 8GB","remarks":"remarks","sku":"SKU-7"}]

参考 www.json.org/javadoc/org/json/JSONObject.html ,看看以下方法:

public java.lang.Object get(java.lang.String key)

public JSONObject put(java.lang.String key,
                  java.util.Collection value)

现在修改您的应用程序以加载资源应该很容易:)

于 2012-07-23T15:03:09.907 回答