在JSON C#中序列化对象列表并在Android上反序列化它

时间:2014-10-15 18:50:12

标签: c# android json

我需要在JSON C#中序列化对象列表并在Android上对其进行反序列化。

C#

public string SerializeData(List<SymbolsInfo> dave)
    {
        JavaScriptSerializer jss = new JavaScriptSerializer();
        string json = jss.Serialize(dave);
        return json;
    }

序列化 - 好的。我怎么能在android上反序列化这个列表?

[Serializable]
public partial class SymbolsInfo
{
    public string SName { get; set; }
    public Nullable<double> SPrice { get; set; }
    public Nullable<int> SVolume { get; set; }
    public System.DateTime SDate { get; set; }
}

2 个答案:

答案 0 :(得分:0)

根据我的知识

  • Android不支持自动JSON反序列化,我认识的唯一JAVA库是Jackson,在github上查看FasterXML / jackson,我认为它不适合你的android案例。

  • 常见的解决方案是读取http响应,然后根据您的响应使用JSONOBject / JSONArray手动解析它。此链接包含有关如何使用这些对象check decode JSON section

  • 的详细说明
  • 关于做http请求和当前响应,android支持两个http客户端。有关详细信息,请查看此link

答案 1 :(得分:0)

这可能对你有帮助, 使用jackson库中的ObjectMapper类

通过套接字接收数据并将该字符串传递给以下程序

jsonData="{\"StringRecivedOverTheSocket":\"OK\"}";
      ObjectMapper objectMapper = new ObjectMapper();



List<SymbolsInfo> list= objectMapper.readValue(jsonData, List<SymbolsInfo>.class);