要说写这个功能呢也是因为工作需要,白天呢上班写个Web页面需要ajax请求后台并将数据以Json格式传会前端,由于公司特殊性吧,不能连外网(很苦比)。所以只有等到晚上回家上网边查边写!

  public class DataToJson
{
private static System.Web.Script.Serialization.JavaScriptSerializer ser = new System.Web.Script.Serialization.JavaScriptSerializer(); //没问题
public static string GetJson(int state, string msg)
{
StringBuilder jsStr = new StringBuilder();
jsStr.Append("{");
jsStr.AppendFormat("\"State\":{0},\"Msg\":\"{1}\"", state, msg);
jsStr.Append("}");
return jsStr.ToString();
}
//没问题
public static string GetJson(string jsonName, object o)
{
StringBuilder jsStr = new StringBuilder();
jsStr.Append("{");
jsStr.AppendFormat("\"{0}\":{1}", jsonName, ser.Serialize(o));
jsStr.Append("}");
return jsStr.ToString();
}
public static string GetJson(int state, string jsonName, object o)
{
StringBuilder jsStr = new StringBuilder();
jsStr.Append("{");
jsStr.AppendFormat("\"State\":{0},\"{1}\":\"{2}\"", state, jsonName, ser.Serialize(o));
jsStr.Append("}");
return jsStr.ToString();
}
public static string GetJson(int state, string msg, string jsonName, object o)
{
StringBuilder jsStr = new StringBuilder();
jsStr.Append("{");
jsStr.AppendFormat("\"State\":{0},\"Msg\":\"{1}\",\"{2}\":{3}", state, msg, jsonName, ser.Serialize(o));
jsStr.Append("}");
return jsStr.ToString();
}
}

上面一段是我写了个公共方法类,主要还是够着JSON格式的字符串,写了几个能用上的重载方法!

    public partial class JsonTest : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e)
{
//var row List<Test> ls = new List<Test>();
ls.Add(new Test() { SonOne = "AA", SonTwo = "AAA", ID = });
ls.Add(new Test() { SonOne = "BB", SonTwo = "BBB", ID = });
ls.Add(new Test() { SonOne = "CC", SonTwo = "CCC", ID = });
ls.Add(new Test() { SonOne = "DD", SonTwo = "DDD", ID = });
string options = HttpContext.Current.Request["Option"];
if (options == "Search")
{
var row = ls.Select(r => new
{
SO1 = r.SonOne,
SO2 = r.SonTwo
}).ToList(); Response.Write(Common.DataToJson.GetJson(,"Success","Row",row));
Response.End();
} }
} public class Test
{
public string SonOne { get; set; } public string SonTwo { get; set; } public int ID { get; set; } }

上面一段构造了一个JsonTest.aspx也面然后构造个Test数据类,这里为了方便直接写在下面。其中row就是为了构造个匿名集合好测试用。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JsonTest.aspx.cs" Inherits="MyTest.JsonTest" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.10.2.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" id="btn" value="按钮" />
</div> </form>
</body>
<script type="text/javascript">
$(function () {
$('#btn').click(function () {
var da = "ID=10010";
$.ajax({
type: 'GET',
data: { Option: "Search" },
url: '/JsonTest.aspx',
dataType: 'JSON',
success: function (result) {
alert(result.State);
},
error: function () {
}
});
});
});
</script>
</html>

上面就是简单的前端测试代码!

当然也有Newtonsoft.Json.dll。这个也很好用,教程网上随便一搜就可以!

c# 将匿名类或者集合转Json格式数据一些方法的更多相关文章

  1. 使用C#中JavaScriptSerializer类将对象转换为Json格式数据

    将对象转换为json格式字符串: private JavaScriptSerializer serializer = new JavaScriptSerializer(); protected voi ...

  2. Android中解析JSON格式数据常见方法合集

    待解析的JSON格式的文件如下: [{"id":"5", "version":"1.0", "name&quo ...

  3. JS实现的一个query字符串转Json格式数据的方法

    输入字符串的格式是 a=1&b=2&c=3 $.par2Json = function (string, overwrite) { var obj = {}, pairs = stri ...

  4. php里少用到的session_module_name,以及session的key值限制,简单将session存储为json格式数据的方法

    这个函数的作用就是动态的设置php.ini里的session_save_handler,配合session_set_savepath可以在程序里自由配置session的后台方式. session_ca ...

  5. C#返回JSON格式数据

    又类的属性生成json格式数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; ...

  6. 解析json格式数据

    实现目标 读取文件中的json格式数据,一行为一条json格式数据.进行解析封装成实体类. 通过google的Gson对象解析json格式数据 我现在解析的json格式数据为: {",&qu ...

  7. fastJson java后台转换json格式数据

    什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...

  8. JSON(三)——java中对于JSON格式数据的解析之json-lib与jackson

    java中对于JSON格式数据的操作,主要是json格式字符串与JavaBean之间的相互转换.java中能够解析JSON格式数据的框架有很多,比如json-lib,jackson,阿里巴巴的fast ...

  9. Java入门系列:处理Json格式数据

    本节主要讲解: 1)json格式数据处理方法 2)第三方工具包的使用方法 3)java集合数据类型 [项目任务] 编写一个程序,显示未来的天气信息. [知识点解析] 为了方便后面代码的分析,先需要掌握 ...

随机推荐

  1. 数据流程redux学习(一)

    思考题: react+redux开发这么一个原型,要怎么开发? 整个redux流程的逻辑非常清晰,数据流是单向循环的,就像一个生产的流水线: store(存放状态) -> Container(显 ...

  2. css3基础知识——回顾

    1.属性选择器 完全匹配的属性选择器 [id=article]{} 示例: <style> input[type=text]{ border: 2px solid red;} </s ...

  3. 使用express.js框架一步步实现基本应用以及构建可扩展的web应用

    最近过年在家有点懈怠,但是自己也不断在学习新的前端技术,在家琢磨了express.js的web框架. 框架的作用就是提高开发效率,快速产出结果.即使不使用框架,我们也会在开发过程中逐渐形成构成框架. ...

  4. BOM之history对象

    前面的话 history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起.由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后 ...

  5. cmake的四个命令:add_compile_options、add_definitions、target_compile_definitions、build_command

    cmake的四个命令:add_compile_options.add_definitions.target_compile_definitions.build_command add_compile_ ...

  6. app与后台交互之间的几种安全认证机制

    1.HTTP简单基本认证方式 这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这么做是不可取的,风险十分大,所以这种认证方式并没 ...

  7. 数据库--iOS

    1.创建表 @"create table if not exists Person(id integer primary key autoincrement,name text,gender ...

  8. TypeScript和JavaScript哪种语言更先进

    TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScr ...

  9. java多线程安全问题 静态函数的修饰

    /* 如果同步函数被静态修饰后,使用的锁是什么呢? 通过验证,发现不在是this.因为静态方法中也不可以定义this. 静态进内存是,内存中没有本类对象,但是一定有该类对应的字节码文件对象. 类名.c ...

  10. (C#:Socket)简单的服务端与客户端通信。

    要求:1.可以完成一对一的通信:2.实现服务端对客户端一对多的选择发送:3.可以实现服务端的群发功能:4.可以实现客户端文件的发送: 要点:服务器端:第一步:用指定的端口号和服务器的ip建立一个End ...