一、什么是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. 十八、Android引导界面

    一.所需素材 很有必要整理一下,里面附带友盟的社会化分享组件,我就不去掉了. 二.代码 import com.umeng.update.UmengUpdateAgent; import android ...

  2. [转] 利用任务计划重启sqlserver服务

    1.建立一个批处理文件restartsqlserver.bat     内容如下:     net   stop   mssqlserver   /y    net   start  mssqlser ...

  3. jQuery中的DOM操作<思维导图>

    DOM是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口.使用该接口可以轻松地访问页面中所有的标准组件.简单来说,DOM解决了Netsc ...

  4. CentOS系统下安装以及卸载mysql

    CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 [root@localhost `]$ wget htt ...

  5. Centos6的VSFTP服务器配置使用教程

    Centos 6 的VSFTP 关闭SELinux,在终端机输入 vi /etc/selinux/config SELINUX=enforcing 改成 SELINUX=disabled 关闭seli ...

  6. webpShere中数据库集群url的设置

     数据源配置的URL如下: jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10 ...

  7. java面试题小全

    面向对象的特征有哪些方面   1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面.抽象并不5. 打算了解全部问题,而6. 只是选择其中的 ...

  8. ES6新增Promise

    1.promise概念 ES6 原生提供了 Promise 对象. 所谓 Promise,就是一个对象,用来传递异步操作的消息.它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提 ...

  9. js 设置 获取css样式

    先看一段代码,为了体现一会下面说的js用style获取css样式的不同 一:给div设置margin-left(用style设置css样式没什么问题) box.style.marginLeft=&qu ...

  10. EF调用函数日期查询

    q = q.Where(t => System.Data.Entity.SqlServer.SqlFunctions.DateDiff("dd", t.Date, dDate ...