一、什么是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的知识整理的更多相关文章

  1. JSON相关知识整理

    JSON   全称:JavaScript Object Notation ,一种轻量级的数据交换格式 示例:{"name":"eric","age&q ...

  2. json相关知识

    整理json相关知识: 1.for in 循环获取json中的键(key)与值(value) <!DOCTYPE html> <html lang="en"> ...

  3. js事件(Event)知识整理

    事件(Event)知识整理,本文由网上资料整理而来,需要的朋友可以参考下   鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemo ...

  4. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  5. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  6. wifi基础知识整理

    转自 :http://blog.chinaunix.net/uid-9525959-id-3326047.html WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总 ...

  7. 数据库知识整理<一>

    关系型数据库知识整理: 一,关系型数据库管理系统简介: 1.1使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数 ...

  8. 【转载】UML类图知识整理

    原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...

  9. Linux进程管理知识整理

    Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...

随机推荐

  1. 初次尝试ColumnStore Index

    1.首先使用非聚集索引 SET STATISTICS IO ON SET STATISTICS TIME ON SELECT MemberId , MAX(AddDT) AS RecentSucDT ...

  2. MVC EF ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。

    遇到这个错误  在查询时 加上asNoTracking() 即可

  3. 使用vhd灌装系统——测试系统专用

    需要使用工具imagex.exe 一. 创建虚拟磁盘: 1.diskpart 2.create vdisk file=c:\test\leiyue.vhd maximum=20000 [tpye=ex ...

  4. UI3_CustomUITableViewCell

    // AppDelegate.m // UI3_CustomUITableViewCell // // Created by zhangxueming on 15/7/15. // Copyright ...

  5. 位图文件格式及linux下C语言来操作位图文件

    说到图片,位图(Bitmap)当然是最简单的,它是Windows显示图片的基本格式,其文件扩展名为*.BMP.由于没有经过任何的压缩,故BMP图片往往很大.在Windows下,任何格式的图片文件都要转 ...

  6. 13款精彩实用的最新jQuery插件

    1.jQuery特色菜单 圆形动画菜单插件 jQuery是一个非常流行的WEB前端框架,尽管HTML5非常酷,但是如果HTML5结合jQuery的话就能实现更酷更实用的插件.今天分享的这款jQuery ...

  7. Codevs 1669 运输装备

    时间限制: 1 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 德国放松对英国的进攻后,把矛头指向了东北—— ...

  8. [Guava源码分析] Preconditions 前置条件

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3874170.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  9. 【风马一族_Android】 图能

    ---------------------------------- 第一次 名称:相片查看器 ---------------------------------- 通过3D.自动播放幻灯片.旋转.跳 ...

  10. 配置普通用户可以运行saltstack的模块

    client_acl 配置使用 1.概述:开启对系统上非root的系统用户在master上可以执行特殊的模块.这些模块名可以使用正则表达式来表示,不能指定对哪些minion执行命令.执行命令只需要切换 ...