/// <summary> /// JSON序列化 /// </summary> /// <typeparam name="T">要序列化的类型</typeparam> /// <param name="obj">要序列化的对象</param> /// <returns>序列化后的对象</returns> public static string Serialize<T>(T obj) { DataContractJsonSerializer serilializer = new DataContractJsonSerializer(typeof(T)); using (Stream stream = new MemoryStream()) { serilializer.WriteObject(stream, obj); stream.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); return reader.ReadToEnd(); } } /// <summary> /// JSON反序列化 /// </summary> /// <typeparam name="T">要反序列化的类型</typeparam> /// <param name="source">要反序列化的字符串</param> /// <returns>类型T的一个实例</returns> public static T Deserialize<T>(string source) {
using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(source))) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); return (T)serializer.ReadObject(ms); } }
最近要把一个复杂的C#类序列化的JSON要在Java中反序列化,这个类有4层结构涉及10个以上不同类的成员,发现网上的代码都甚是复杂,有的还要发写入磁盘文件,然后再读出来,有这么蛋疼么?
fastjson有移动端的,使用方法很简单
java是用的第三方库吧.比较有名的就是阿里的firstjson了
这个东西有什么禁忌么,可以在android里用么?