我有返回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();