c#对象与json字符串的相互转换

制作小程序网站电脑程序      2022-02-12     324

关键词:

程序使用 .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字... 查看详情