作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何反序列化我在 asp.net webservice 中作为 json 对象发送的字符串。
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://server/NCO/webservice.asmx/GetNRIC");
post.setHeader("Content-type", "application/json");
post.setHeader("Accept", "application/json");
JSONObject obj = new JSONObject();
obj.put("ic", "s1111111b");
post.setEntity(new StringEntity(obj.toString(), "UTF-8"));
HttpResponse response = client.execute(post);
最佳答案
您将需要一个包含如下方法的实用程序类。
public static T JsonDeserialize<T> (string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T)ser.ReadObject(ms);
return obj;
}
查看 this link更多细节。无论如何,如果您在两端都使用数据传输对象 (DTO),您会发现这种序列化和反序列化场景更容易。这样您就不必从 Android 端手动安排 JSON 字符串。为此,您可能还需要 Android 端的 JacksonMapper 将 DTO 直接转换为字符串。从 ASP.NET 方面来看,即使您可以拥有相同的实体类,因此反序列化变得更容易
RequestDTO requestDTO = JsonHelper.JsonDeserialize<RequestDTO>(jsonString);
关于android - 如何反序列化我发送到我的网络服务的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826636/
我是一名优秀的程序员,十分优秀!