WCF服务到android对象的JSON



我有返回JSON的REST C#WCF web服务。

{
   "GetProductResult": 
    {
    "title": "Fishing stick",
    "description": "Brand new"
    }
}

然后我尝试使用GSON(我使用的是安卓工作室)和这个来"解析"它

 Gson gson = new Gson();
    String jsonOutput = "{"GetProductResults":{"name":"Fishing stick","description":"Brand new"}}";
    MyObject obj = gson.fromJson(jsonOutput, MyObject.class);
    Log.d("OBJ",obj.title);

但我遇到的问题是MyObject是空的。如果我将JSON字符串更改为

 {
    "title": "Fishing stick",
    "description": "Brand new"
}

它是有效的。这里唯一的区别是我删除了"GetProductResult"数组,MyObject填充了"title"one_answers"description"。

这是MyObject类:

public class MyObject {
    @SerializedName("title")
    private String title;
    @SerializedName("description")
    private String description;
}

有什么想法或建议吗?

好的,我设法弄明白了。问题在于WCF web服务。

方法需要有

BodyStyle = WebMessageBodyStyle.Bare

所以最后的结果是类似于

[OperationContract]
     [WebInvoke(Method = "GET",
      ResponseFormat = WebMessageFormat.Json,
      BodyStyle = WebMessageBodyStyle.Bare,
      UriTemplate = "getProduct")]
     List<Product> getProduct();

最新更新