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. openlayers加载百度地图

    最近在做openlayers添加百度地图的扩展类,经过轮番的尝试,终于将其接入了,但是发现偏差比较大,有根据百度的坐标进行了比对,将切片原点进行了调整,发现OK了.打开百度地图,可以看出切片的路径如: ...

  2. cent os 6 安装 nginx

    cent os 6 默认的库是没有nginx的,所以直接 yum install nginx不行. 解决办法: $ wget http://nginx.org/packages/centos/6/no ...

  3. ubuntu下安装redis

    (1)进去 /usr/local目录下   cd /usr/local  若没有local这个文件夹则创建一个    sudo mkdir /usr/local     sudo chmod 777 ...

  4. web前端开发(6)

    为了避免全局变量泛滥导致冲突,最简单有效的办法是用匿名函数将脚本包起来,让变量的作用域控制在函数之内.

  5. http错误码大全

    响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行.响应码分五种类型,由它们的第一位数字表示:1.1xx:信息,请求收到,继续处理2.2xx:成功,行为被成功地接受.理解和采纳3 ...

  6. 【CSS】class和id命名规则

    说明,本篇内容为书籍<高流量网站CSS开发技术>的学习总结,文字出自书本 书不错,推荐阅读学习 也可参阅网上的博文 原载:彬Go链接:http://blog.bingo929.com/cs ...

  7. [转]div 让文字或图片居中

    本文转自:http://qsfwy.iteye.com/blog/250206 在div 中让 文字或图片居中,请参考以下代码1: - - - - - - - - - - - - - - - - - ...

  8. SQL server 2008 建立新用户

    进入Instance下的‘安全性’->登录名, 可以选择SQL server 验证,‘强制实施密码策略’.’状态‘ 为启用. 在使用的数据库下‘安全性’->登录名,选择‘登录名’,输入之前 ...

  9. Part 57 to 58 Why should you override ToString and Equal Method

    Part 57 Why should you override ToString Method sometimes you can override ToString method like that ...

  10. ubuntu安装python3

    系统本身就已经安装了python2.7 和python3.4 现在需要做的就是将默认的版本更换一下下就可以了. 检查python的版本 python -V 老的版本没必要去产出了,因为会有一些程序依赖 ...