0

問題が発生しています。Web サービスの形式が変更されているため、アプリは 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 に答える