SingletonBaseTemplate
public static byte[] writeValueAsZipByte(List<CraneDataDtls> dtls) {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
GZIPOutputStream outputStream = null;
try {
outputStream = new GZIPOutputStream(byteOutputStream);
mapper.writeValue(outputStream, dtls);
} catch (JsonGenerationException e) {
LOG.error("Error when convert Pojo to Json ", e);
throw new UnhandledException("Server Error, please try again, or contact supportor\r\n");
} catch (JsonMappingException e) {
LOG.error("Error when convert Pojo to Json ", e);
throw new UnhandledException("Server Error, please try again, or contact supportor\r\n");
} catch (IOException e) {
LOG.error("Error when convert Pojo to Json ", e);
throw new UnhandledException("Server Error, please try again, or contact supportor\r\n");
}
byte[] arr = byteOutputStream.toByteArray();
return arr;
}
Java 上述代码:
JSON 数据转换 :
代码:
//{
// "Name": "Apple",
// "Expiry": "2008-12-28T00:00:00",
// "Sizes": [
// "Small"
// ]
//}
static void Main(string[] args)
{
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(, , );
product.Sizes = new string[] { "Small" ,"Large"};
string json = JsonConvert.SerializeObject(product);
Debug.WriteLine(json);
Console.ReadKey();
Product productClone = JsonConvert.DeserializeObject<Product>(json);
Debug.WriteLine(productClone.Name);
Debug.WriteLine(productClone.Expiry);
for (int i = ; i < productClone.Sizes.Length; i++)
{
Debug.Write(productClone.Sizes[i] + " ");
}
Console.ReadKey();
}
https://json.codeplex.com/downloads/get/832296
http://www.cnblogs.com/piaopiao7891/p/3624779.html
public class Customer
{
public string CustomerName;
public int Unid;
}
public void CallCustomerToJson()
{
Customer cc = new Customer { Unid = , CustomerName = "John" };
string strJson = CustomerToJsonSerialize(cc); Console.WriteLine(strJson);
} public void CallJsonToCustomer()
{
string strJson = "{\"CustomerName\":\"John\",\"Unid\":1}";
Customer c = JsonToCustomerDeserialize(strJson) as Customer; Console.WriteLine(c.Unid + " " + c.CustomerName);
} public void GenericCallCustomerToJson()
{
Customer cc = new Customer { Unid = , CustomerName = "John" };
string strJsons = GenericToJson<Customer>(cc);
Console.WriteLine(strJsons);
} public void GenericCallJsonToCustomer()
{
string strJson = "{\"CustomerName\":\"John\",\"Unid\":1}";
Customer c = GenericFromJson<Customer>(strJson);
Console.WriteLine(c.Unid + " " + c.CustomerName);
} #region Json /// <summary>
/// Json Serialize
/// </summary>
/// <param name="customer"></param>
/// <returns></returns>
public string CustomerToJsonSerialize(Customer customer)
{
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(Customer)); MemoryStream ms = new MemoryStream();
ds.WriteObject(ms, customer); string strReturn = Encoding.UTF8.GetString(ms.ToArray());
ms.Close(); return strReturn;
} /// <summary>
/// Json DeSerialize
/// </summary>
/// <param name="strJson"></param>
/// <returns></returns>
public object JsonToCustomerDeserialize(string strJson)
{
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(Customer));
MemoryStream ms = new MemoryStream(Encoding.Default.GetBytes(strJson)); return ds.ReadObject(ms);
} /// <summary>
/// GenericToJson
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string GenericToJson<T>(T t)
{
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
ds.WriteObject(ms, t); string strReturn = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return strReturn;
} /// <summary>
/// GenericFromJson
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="strJson"></param>
/// <returns></returns>
public static T GenericFromJson<T>(string strJson) where T : class
{
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(strJson)); return ds.ReadObject(ms) as T;
} #endregion
[DataContract]//必须申明,否则无法序列化
public class Person
{
[DataMember(Name = "PersonName")]//必须申明,否则无法序列化
private string Name; [DataMember(Name = "PersonSex")]//必须申明,否则无法序列化
private bool Sex; public Person(string name, bool sex)
{
this.Name = name;
this.Sex = sex;
} public override string ToString()
{
return "姓名:" + this.Name + "\t性别:" + (this.Sex ? "男" : "女");
} } [DataContract]
public class Programmer : Person
{
[DataMember(Name = "ProgramLanguage")]
private List<string> Languages; public Programmer(string name, bool sex, List<string> languages)
: base(name,sex)
{
this.Languages = languages;
} public override string ToString()
{
StringBuilder str = new StringBuilder();
str.Append(base.ToString() + "\t编程语言:");
foreach (string lang in this.Languages)
{
str.Append(lang + " ");
} return str.ToString();
} } public void DataContractSampleCode()
{
string filePath = @"D:\ObjectJson.txt"; List<string> languages = null;
languages = new List<string>(new string[] { "C#", "Java" });
languages = new List<string>(new string[] { "C#", "C++" });
languages = new List<string>(new string[] { "C#", "C++", "C", "Java" }); List<Programmer> list = new List<Programmer>();
list.Add(new Programmer("Coder1", true, languages));
list.Add(new Programmer("Coder2", false, languages));
list.Add(new Programmer("Coder3", true, languages)); //序列化对象
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<Programmer>)); MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, list);//将对象转换成json存储
string jsonStr = Encoding.Default.GetString(ms.ToArray());
File.WriteAllText(filePath, jsonStr);
ms.Position = ;
ms.Dispose();//关闭内存流 //反序列化对象
list.Clear(); using (FileStream fStream = File.Open(filePath,FileMode.OpenOrCreate))
{
list = (List<Programmer>)ser.ReadObject(fStream);
foreach (Programmer p in list)
{
Console.WriteLine(p);
}
} }
http://www.cnblogs.com/junbird-nest/archive/2012/03/23/2413441.html
http://www.cnblogs.com/phoenixtrees/archive/2011/05/01/2033847.html
SingletonBaseTemplate的更多相关文章
随机推荐
- GoJS超详细入门(插件使用无非:引包、初始化、配参数(json)、引数据(json)四步)
GoJS超详细入门(插件使用无非:引包.初始化.配参数(json).引数据(json)四步) 一.总结 一句话总结:插件使用无非:引包.初始化.配参数(json).引数据(json)四步. 1.goj ...
- php 获取根目录
在网站根目录的index.php文件里 define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/ ...
- Java 开源博客——B3log Solo 0.6.6 正式版发布了!
Java 开源博客 -- B3log Solo 0.6.6 正式版发布了!欢迎大家下载. 该版本引入了数据库连接池:Druid. 另外,欢迎观摩 B3log 团队的新项目:Noty,也非常欢迎大家参与 ...
- Word2010中插入多级列表编号
https://jingyan.baidu.com/article/3ea5148901919752e61bbafe.html Word2010中插入多级列表编号的三种方法 听语音 | 浏览:8719 ...
- 于 Android NDK 的学习之旅-----数据传输(基本数据类型和数组传输)
之前的一些文章都有涉及到上层和中间层的数据传输,简单来说,也就是参数和返回值的使用.因为中间层要做的最多的也就是数据传输与转换,下面来介绍下这方面的知识. 数据传输可分为 基本数据类型传输 和 引用数 ...
- php标准库spl栈SplStack如何使用?
php标准库spl栈SplStack如何使用? 一.总结 php标准库spl栈SplStack介绍.(SplStack类)(各种方法都支持) 1.SplStack类:$stack = new SplS ...
- pytharm运行django项目
pytharm运行django项目 安装Django 下载Django包,解压缩. CMD 进入解压路径下. 执行: python setup.py install 增加环境变量: C:\Pytho ...
- 断言(Assert)与异常(Exception)
## 断言和异常 断言是用来检查非法情况而不是错误情况的,用来帮开发者快速定位问题的位置. 异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性. ## 断言的使用 在防御式编程中经常会用断 ...
- Ehcache配置
http://blog.csdn.net/lwx2615/article/details/5624388 http://www.cnblogs.com/hoojo/archive/2012/07/12 ...
- 【v2.x OGE-example 第一节】 绘制实体
前言: OGE即 OGEngine,是由橙子游戏开发的基于Java支持跨平台的开源游戏引,从12年4月项目成立至今已经有2年多的发展历程.在此期间基于OGEngine开发的项目已经有非常多成功投放市场 ...