关于json的知识整理
一、什么是json
JSON:JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是存储和交换文本信息的语法。类似 XML,但JSON 比 XML 更小、更快,更易解析。
JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。
二、json语法规则
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
json名/值对:
“name”:"张三"
json对象(对象可以包含多个名称/值对)
{"name":"张三","sex":"男"}
json数组(数组可以包含多个对象)
{
"people": [
{ "name":"John" , "sex":"man" },
{ "name":"Anna" , "sex":"women" },
{ "name":"Peter" , "sex":"man" }
]
}
三、eval() 函数
JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
var obj = eval ("(" + txt + ")");
注意:必须把文本包围在括号中,这样才能避免语法错误。
四、具体示例
(1)后台拼接json
string xm = context.Request.QueryString["xm"].ToString();
string rqStr = "select id,rq,xq,sj from b_gh_zj where xm='" + xm + "' and thimg='开通' and rq>GETDATE() and xhsl>ghsl";
DataTable dt=DBUtility.SqlHelper.Query(rqStr).Tables[];
StringBuilder sbJson = new StringBuilder();
string strjson = "";
sbJson.Append("[");
if (dt.Rows.Count>)
{
foreach (DataRow dr in dt.Rows)
{
sbJson.Append("{id:" + dr["id"] + ",rq:'" + Convert.ToDateTime(dr["rq"]).ToString("yyyy-MM-dd") + "',xq:'" + dr["xq"] + "',sj:'" + dr["sj"] + "'},");
}
strjson = sbJson.ToString();
strjson = strjson.Substring(, strjson.Length - ) + "]";//去掉最后一个逗号;
context.Response.Write(strjson);
}
(2)前台解析json
var myobj = eval(res); //获取json对象 document.getElementById("ddlTime").options.length = ; //每一次先把之前的清空
document.getElementById("txtyyxq").value = ""; for (var i = ; i < myobj.length; i++) {
document.getElementById("ddlTime").options.add(new Option(myobj[i].rq + "--" + myobj[i].sj, myobj[i].id));
} //js动态为下拉框添加值 (text,value)
(3)后台解析json
读取到的json字符串(jsonArray)如下:
[{"id":"","da":""},{"id":"","da":"服务态度恶劣。"},{"id":"","da":""},{"id":"","da":""}]
解析代码如下:
[Serializable]
class User
{
public int id{get;set;}
public string da { get; set; }
}
JavaScriptSerializer json = new JavaScriptSerializer();
List<User> list = json.Deserialize<List<User>>(jsonArray);
if (list != null && list.Count > )
{
foreach (var item in list)
{
Response.Write(item.id+"------"+item.da); }
}
关于json的知识整理的更多相关文章
- JSON相关知识整理
JSON 全称:JavaScript Object Notation ,一种轻量级的数据交换格式 示例:{"name":"eric","age&q ...
- json相关知识
整理json相关知识: 1.for in 循环获取json中的键(key)与值(value) <!DOCTYPE html> <html lang="en"> ...
- js事件(Event)知识整理
事件(Event)知识整理,本文由网上资料整理而来,需要的朋友可以参考下 鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemo ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- wifi基础知识整理
转自 :http://blog.chinaunix.net/uid-9525959-id-3326047.html WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总 ...
- 数据库知识整理<一>
关系型数据库知识整理: 一,关系型数据库管理系统简介: 1.1使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数 ...
- 【转载】UML类图知识整理
原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...
- Linux进程管理知识整理
Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...
随机推荐
- Android平台下OpenGL初步
Android OpenGL ES 开发教程 从入门到精通 http://blog.csdn.net/zhoudailiang/article/details/50176143 http://blog ...
- IOS 后台执行
在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态.在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除.应用程序提供特定的服务,用户可以请求后台执行时间 ...
- JavaScript开发技巧
1.在编写js代码时,应尽量避免全局变量的使用.如果实在需要使用全局变量,则可以使用一个function来规避全局变量的使用. 2.数字解析 //1.丢弃小数部分,保留整数部分 alert( pars ...
- 8个3D视觉效果的HTML5动画欣赏
现在的网页中应用了越来越多的3D应用,特别是基于HTML5 Canvas的动画特效,让用户有一种非常震撼的视觉体验.本文收集了8个非常炫酷的3D视觉效果的HTML5动画,都有源代码分享,你可以学习你感 ...
- 《JavaScript高级程序设计》心得笔记-----第五篇章
第二十二章 1. 安全的检测是使用:Object.prototype.toString.call(value); eg: function isArray(value){ return Object ...
- 济南学习 Day 3 T3 pm
仙人掌(cactus)Time Limit:1000ms Memory Limit:64MB题目描述LYK 在冲刺清华集训(THUSC) !于是它开始研究仙人掌,它想来和你一起分享它最近研究的结果. ...
- OSX 上初步尝试 asp.net 5
去年微软最令开源狗界振奋的消息就是 ASP.NET 的开放与开源这一消息了. 根据微软的介绍,与我之前的一些总结,可以看到 ASP.NET 以及 .NET 平台会有下面几个变化: 代码使用 Apach ...
- Spring MVC与easyui国际化
1.建立资源文件 在webapp下建立文件夹language,在其中再添加file,命名分别为language.properties,language_en.properties,language_z ...
- 解析php时间戳与日期的转换
php中时间戳与日期的转换. 实现功能:获取某个日期的时间戳,或获取某个时间的PHP时间戳. strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date( ...
- How to add EDT relation table[AX2012]
setp 1. First create New Edit. setp 2.Create New Table First Table Name is NParentRel then drag and ...