1.将json string转化成object

   1:  public static T GetObjectFromJson<T>(string jsonString)
   2:  {
   3:      DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
   4:      MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
   5:      var obj = (T)serializer.ReadObject(stream);
   6:      stream.Close();
   7:      return obj;
   8:  }
 
 

2.将obect转化成json string

   1:  public static string GetJsonFromObject<T>(T obj)
   2:  {
   3:      DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));
   4:      using (MemoryStream ms = new MemoryStream())
   5:      {
   6:          json.WriteObject(ms, obj);
   7:          string szJson = Encoding.UTF8.GetString(ms.ToArray());
   8:          return szJson;
   9:      }
  10:  }

注意,定义的对象T一定要和json 字符串一一对应

e.g: json string {\"ID\":1,\"Items\":[{\"Name\":\"22\"},{\"Name\":\"23\"}]}

定义的对象就必须是:

   1:  [DataContract]
   2:  class Demo
   3:  {
      [DataMember]
   4:      public int ID { get; set; }
   5:      [DataMember]
   6:      public List<Student> Items { get; set; }
   7:  }
   8:   
   9:  [DataContract]
  10:  class Student
  11:  {
  12:      [DataMember]
  13:      public string Name { get; set; }
  14:  }

其中T就是Demo 这个类

使用:

   1:   string json = "{\"ID\":1,\"Items\":[{\"Name\":\"22\"},{\"Name\":\"23\"}]}";
   2:   Demo obj = GetObjectFromJson<Demo>(json);

json string 与object 之间的转化的更多相关文章

  1. Jackson将json string转为Object,org.json读取json数组

    从json文件读取json string或者自定义json string,将其转为object.下面采用的object为map,根据map读取json的某个数据,可以读取第一级的数据name,后来发现 ...

  2. Gson进行json字符串和对象之间的转化

    Gson可以实现对象与json字符串之间的转化,以下是在Android中的示例代码. Gson主页:https://code.google.com/p/google-gson/ public clas ...

  3. String和数字之间的转化

    主要是JDK的代码,还是比较的经典,值得一看,例如: package alg; /** * @author zha 字符串之间的转化 */ public class Alg3StringToint { ...

  4. json字符串和object之间的相互转化

    package asi; import java.util.ArrayList; import com.alibaba.fastjson.JSON; import com.alibaba.fastjs ...

  5. string,char*,int 之间的转化

    c++中经常遇到string,char*,int之间的相互转化,今天就来整理一下. 以下是转载并修改的内容: 以下是常用的几种类型互相之间的转换 string 转 int先转换为char*,再使用at ...

  6. C# .net中json字符串和对象之间的转化方法

    http://blog.csdn.net/xuexiaodong009/article/details/46998069 json作为作为一种最常用的数据,应用很广泛,在.net中如何把一个对象转化为 ...

  7. 【语言基础】c++ 基本数据类型与字节数组(string,char [] )之间的转化方法

    有时候我们需要将基本数据类型转化为字节,以便写入文件,然后必要时还需要将这些字节读出来.有人说,为啥不把数字直接存进文件呢?比如:100,000,000,我们直接存数字明文到文件那就是9个字符(cha ...

  8. js中的json对象和字符串之间的转化

    字符串转对象(strJSON代表json字符串)   var obj = eval(strJSON);   var obj = strJSON.parseJSON();   var obj = JSO ...

  9. java中string与byte[]之间的转化分析

    背景:最近接触zookeeper的java开发,由于zookeeper中传的好像都是byte[]的数据(需要进一步确认),好多情况下都需要进行转换. 1)和zookeeper原生API不同,通过zkc ...

随机推荐

  1. iOS 画图讲解2

    1.图片水印 //layer上下文只能显示在drawRect里 //当开启上下文时,绘制图形即可在viewDidLoad中实现 //位图的上下文 //UIGraphicsBeginImageConte ...

  2. iOS数据持久化存储:归档

    在平时的iOS开发中,我们经常用到的数据持久化存储方式大概主要有:NSUserDefaults(plist),文件,数据库,归档..前三种比较经常用到,第四种归档我个人感觉用的还是比较少的,恰恰因为用 ...

  3. javascript,jquery(闭包概念)

    (function($){     $("div p").click(...);})(jQuery);    就是等于function tempFunction($){  //创建 ...

  4. hdu 4403 简单搜索

    思路:分等号左边和右边进行搜索 #include<iostream> #include<cstdio> #include<cstring> #include< ...

  5. [转]如何下载tizen源码(图文教程)?

    http://blog.csdn.net/flydream0/article/details/8996654 当前tizen发布的最新源码版本是2.1,本文将以图文教程讲述如何下载tizen源码,关于 ...

  6. How to Use Rsync to Sync New or Changed/Modified Files in Linux

    As a system administrator or Linux power user, you may have probably come across or even on several ...

  7. ASP.Net 验证控件 RangeValidator

    RangeValidator 定义和用法 RangeValidator 控件用于检测用户输入的值是否介于两个值之间.可以对不同类型的值进行比较,比如数字.日期以及字符. 注释:如果输入控件为空,验证不 ...

  8. html背景自动移动

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  9. 【CSS3】---结构性伪类选择器-root+not+empty+target

    结构性伪类选择器—root :root选择器,从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素.在HTML文档中,根元素始终是<html>. 示例演示: 通 ...

  10. 深入浅出ExtJS 第七章 弹出窗口

    7.1 Ext.MessageBox 7.1 Ext.MessageBox //Ext.MessageBox为我们提供的alert/confirm/prompt等完全可以代替浏览器原生; 7.1.1 ...