ASP.NET JSON字符串与实体类的互转换
来源:互联网 发布:淘宝客大牛 编辑:程序博客网 时间:2024/05/16 03:30
还是先封装一个类吧! 这个类网上都可以找到的!有个这个类,一切都将变得简单了,哈哈。
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Runtime.Serialization.Json;using System.ServiceModel.Web;///记得引用这个命名空间using System.IO;using System.Text;/// <summary>/// Summary description for JsonHelper/// </summary>public class JsonHelper{ public JsonHelper() { // // TODO: Add constructor logic here // } /// <summary> /// 把对象序列化 JSON 字符串 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="obj">对象实体</param> /// <returns>JSON字符串</returns> public static string GetJson<T>(T obj) { //记住 添加引用 System.ServiceModel.Web /** * 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不来的哦 * */ DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T)); using (MemoryStream ms = new MemoryStream()) { json.WriteObject(ms, obj); string szJson = Encoding.UTF8.GetString(ms.ToArray()); return szJson; } } /// <summary> /// 把JSON字符串还原为对象 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="szJson">JSON字符串</param> /// <returns>对象实体</returns> public static T ParseFormJson<T>(string szJson) { T obj = Activator.CreateInstance<T>(); using (MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes(szJson))) { DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T)); return (T)dcj.ReadObject(ms); } }}
测试实体类:
public class TestData{ public TestData() { } public int Id { get; set; } public string Name { get; set; } public string Sex { get; set; }}
测试页面:
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void Page_Load(object sender, EventArgs e) { string jsonStr = string.Empty; List<TestData> tds = new List<TestData>(); //测试数据 for (int i = 1; i < 4; i++) { tds.Add(new TestData() { Id = i, Name = "jinho" + i, Sex = "male" }); }//把一个list转换为json字符串 jsonStr = JsonHelper.GetJson<List<TestData>>(tds); Response.Write(jsonStr); this.Page.ClientScript.RegisterStartupScript(this.GetType(), "json", "getJson(" + jsonStr + ");", true); } </script><script type="text/javascript"> function getJson(jsonStr) {//使用eval函数 var json = eval(jsonStr);
//因为上面为list集合 for (var i = 0; i < json.length; i++) { alert(json[i].Id + "Name:" + json[i].Name); } }</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> </div> </form></body></html>
:关于json字符串转换为实体请各位自己测试吧!只要有上面那个JsonHelper 类,一切都好办!
验证 工具:http://json2csharp.com/
转自:http://blog.csdn.net/wisdonlz/article/details/5815643
- ASP.NET JSON字符串与实体类的互转换
- ASP.NET JSON字符串与实体类的互转换
- ASP.NET 自带对象 JSON字符串与实体类的转换
- JSON字符串转换成java实体类的工具
- java将JSON字符串转换为实体类对象,基于net.sf.json实现
- json与java实体类的相互转换
- json数据与实体类之间的相互转换
- 关于json字符串转换成json对象、HashMap和实体类的操作
- 使用JSON.net 将实体类生成JSON字符串
- C#实现实体类与字符串互相转换的方法
- C#实现实体类与字符串互相转换的方法
- C#实现实体类与字符串互相转换的方法
- Json字符串与类的转换
- ASP.NET MVC 中将FormCollection与实体间转换方法
- Jackson第一篇【JSON字符串、实体之间的相互转换】
- Jackson第一篇【JSON字符串、实体之间的相互转换】
- Jackson第一篇【JSON字符串、实体之间的相互转换】
- Jackson第一篇【JSON字符串、实体之间的相互转换】
- Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)
- 圆图及其应用
- 通过cocos2d-x的CCGLProgram和CCShaderCache的实现来分析OpenGL ES中的Shader编程
- pku 2239 Selecting Courses (无权值二分图)
- 工作中小知识点汇总(sql)
- ASP.NET JSON字符串与实体类的互转换
- POJ 2976 Dropping tests 01分数规划
- 关于try/catch的笔记
- 新浪微博分享
- poj 2728 Desert King(最优比例生成树)
- 五子棋必胜
- 将cocos2d渲染窗体嵌入到qt中
- 几种设计模式
- Uva 10891 Game of Sum - 区间DP..记忆化搜索