首页 > 代码库 > jQuery操作json数据

jQuery操作json数据

json是一种轻量级数据交换格式,简单的json格式为[{"key1":"value1"},{"key2":"value2"}],

[]代表数组,{}代表数组中的数据对象,key1,key2是一个json对象中的key,一个json中key值唯一,value1,value2,是key键对应的值。

下面使用jquery解析简单的son文件。

这里是songs.json文件内容

[
{"optionKey":"1", "optionValue":"Canon in D"},
{"optionKey":"2", "optionValue":"Wind Song"},
{"optionKey":"3", "optionValue":"Wings"}
]

Html代码:

<div>点击按钮获取JSON数据</div>
<input type="button" id="button" value=http://www.mamicode.com/"确定" />>

使用Ajax获取JSON数据的jQuery代码:

$(document).ready(function(){
 $(‘#button‘).click(function(){
  $.ajax({
   type:"GET",
   url:"songs.json",
   dataType:"json",
   success:function(data){
    var song="<ul>";
    //i表示在data中的索引位置,n表示包含的信息的对象
    $.each(data,function(i,n){
     //获取对象中属性为optionsValue的值
     song+="<li>"+n["optionValue"]+"</li>";
    });
    song+="</ul>";
    $(‘#result‘).append(song);
   }
  });
  return false;
 });
});

因为前台jquery不接受显示DataTable对象;--- 复用性不大,所以有必要先把datable转换成json数据格式

public static string ToJson(DataTable Adt)
        {
            StringBuilder jsonString = new StringBuilder();
            jsonString.Append("[");
            foreach (DataRow pdr in Adt.Rows)
            {
                jsonString.Append("{");
                jsonString.AppendFormat("\"name\":\"{0}\",\"value\":\"{1}\"", pdr["SmallClassName"].ToString(), pdr["SmallClassName"].ToString());
                jsonString.Append("},");
            }
            jsonString.Remove(jsonString.Length - 1, 1);
            jsonString.Append("]");
            return jsonString.ToString();
        }