关键词:
程序使用 .NET Framework 提供的 JavaScriptSerializer 类进行序列化和反序列化操作,需要引用 .NET Framework 中的 System.Web.Extensions 程序集。对于直接进行 DataTable 类型对象的转换会出现 “序列化类型为“System.Reflection.RuntimeModule”的对象时检测到循环引用” 这一异常,所以程序中对 DataTable 类型的转换作了单独处理,当然只是从 DataTable 转换为 JSON 时作了处理,如果将 JSON 字符串转换为 DataTable 依然会失败,我想通常情况下的前后端交互只需要用到 DataTable 到 JSON 的转换就差不多了吧,下面是实现:
using System;
using System.Web.Script.Serialization;
using System.Data;
using System.Collections.Generic;
// 对象转换为 JSON 字符串
string ObjectToJSON(object _obj)
{
try
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
if (_obj is DataTable)
{
DataTable dt = (DataTable)_obj;
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
row.Add(dc.ColumnName, dr[dc]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
return serializer.Serialize(_obj);
}
catch
{
return "{}";
}
}
// JSON 字符串转换为相应类型的对象
T JSONToObject<T>(string _json)
{
try
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Deserialize<T>(_json);
}
catch
{
return default(T);
}
}
相关环境:
.NET Framework 4.0
json对象与字符串之间的相互转换
<html><head><metaname="viewport"content="width=device-width"/><title>JSON对象与字符串之间的相互转换</title><scriptsrc="~/Js/jquery-1.8.0.js"></script><script>varuser 查看详情
json对象与字符串的相互转换,数组和字符串的转换
1.json对象转换为字符串JSON.stringify(value[,replacer][,space]) varstudent=newObject();student.id="001";student.name="程陈";student.age="18";varstr=JSON.stringify(student);//{"id":"001","name":"程陈","age":"1 查看详情
json的string字符串与java的list列表对象的相互转换
在前端:1.如果json是List对象转换的,可以直接遍历json,读取数据。2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:varjsonStr=JSON.stringify(list);varparam={};param.jsonStr=jsonStr;在后台:1.把String转... 查看详情
javascript-问题集-含function的json对象与json字符串之间相互转换
基本的转换为:JSON.parse与JSON.stringify。但是json数据中含function,则转换后,function会丢失,如:varjson={test:‘test‘,login:function(){alert("login")}} 经JSON.stringify后,login丢失。varjson={test:‘test‘}JSON.parse,结果一样。正确处理方法: 查看详情
json——javascript中js对象与json格式字符串的相互转换
首先我们来看一下js中JSON格式的字符串varJSONStr1="{"name":"张三"}";注意以下的写法不是js中JSON格式的字符串,它只是一个js的字符串。varJSONStr2="{‘name‘:‘张三‘}";我们看JSON语法中对于字符串的定义:是由双引号包围的任意数量Uni... 查看详情
javascriptjson字符串与对象相互转换
...json格式,但是前端接收数据时,却时而是object,时而是字符串,令人百思不得其解。具体原因我还不是很清楚。在数据传输过程中,json是以文本,即字符串的形式传递的, 查看详情
fastjsonjson对象及javabean之间的相互转换
示例1:JSON格式字符串与javaBean之间的转换。json字符串与javaBean之间的转换推荐使用 TypeReference<T>这个类,使用泛型可以更加清晰/***json字符串-简单对象与JavaBean_obj之间的转换*/publicstaticvoidtestJSONStrToJavaBeanObj(){Studentstudent=J... 查看详情
c#对象与json字符串互相转换的几种方式
出自:http://blog.csdn.net/testcs_dn/article/details/78150046?locationNum=6&fps=1 目录(?)[-]方法一DoNet20需要借助于NewtonsoftJsondll方法二DataContractJsonSerializer方法三JavaScriptSerializer功能对比性能对比JSON转C实体类相关参 查看详情
vue字符串与json对象数组之间的转换(代码片段)
一.Json字符串与json对象相互转换//Json字符串转换为json对象1.使用evalresult=eval('('+jsonstr+')');//jsonstr是json字符串2.使用JSON.parse()result=JSON.parse(jsonstr);//jsonstr是json字符串//Json对象转换为json字符串JSON.stringify(s)二... 查看详情
fastjson对于json格式字符串json对象及javabean之间的相互转换
fastJson对于json格式字符串的解析主要用到了一下三个类:JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。JSONObject:fastJson提供的json对象。JSONArray:fastJson提供json数组对象。我们可以把JSONObject当成一个Map... 查看详情
java对象数据与json对象数据之间的相互转换(fastjson)(代码片段)
...FastJson常用的JSON格式转换4.1、测试案例4.2、将JSON格式的字符串转换为json对象4.3、将JSON字符串或者JSON对象转成Java对象4.4、将Java对象转换成JSON对象,toJSONString4.5、将JSON数组字符串转换成Java中List集合对象,parseObjec或者par... 查看详情
c#字符串与字节数组相互转换
...p; 总结归纳:如果直接从System.String类中找到方法进行字符串和字节数组之间的转换,是不太可能的。为了使其之间进行转换,需要借助另外一个类型:System.Text.Encoding。这个类型提供了将C#字符串转换成字节数组的方法,也... 查看详情
第168天:json对象和字符串的相互转换
json对象和字符串的相互转换1、json对象和字符串的转换在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。JSON.stringify(obj) 将JSON对象转为字符串。JSON.parse(string) ... 查看详情
python对象与json相互转换的方法
...对于python来讲,将类转化为json数据以及将json数据转化为对象是一件非常容易的事情。下面给出两者转化的方法?12345678910111213141516171819202122232425262728293031323334353637#-*-coding:UTF-8-*-importjson #自定义类classMyC 查看详情
js中实现json对象和json字符串之间的相互转换
...了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间的相互转换,例如://JSON对象转JSON字符串,输出:"{"name":"zhangsan","age":10,"birthday":"2017-08-15T07:09:48.7 查看详情
json与java数据的相互转换
importnet.sf.json.JSONArray;importnet.sf.json.JSONException;importnet.sf.json.JSONObject;importnet.sf.json.JSONSerializer;/***json对象转换为java对象**@throwsJSONException*/@TestpublicvoidjsonToJava(){Stringj 查看详情
json对象和字符串之间的相互转换
比如有两个变量,我要将a转换成字符串,将b转换成JSON对象: vara={"name":"tom","sex":"男","age":"24"}; varb=‘{"name":"Mike","sex":"女","age":"29"}‘;在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse( 查看详情
js中js数组对象与json之间的转换
在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:JSON字符串:varstr1=‘{"name":"cxh","sex":"man"}‘;JSON对象:varstr2={"name":"cxh","sex":"man"};一、JSON字... 查看详情