JSON学习
来源:互联网 发布:贪心算法 回溯算法 编辑:程序博客网 时间:2024/04/27 15:42
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html
举个简单的例子:
这表示一个user对象,拥有username, age, info, address 等属性。 同样也可以用JSON来简单的修改数据,修改上面的例子 JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。 可以使用eval来转换JSON字符到Object 或者使用parseJSON()方法 下面使用prototype写一个JSON的ajax例子。 再在页面中写一个ajax的请求 prototype-<st1:chsdatew:st="on" isrocdate="False" islunardate="False" day="30" month="12"year="1899">1.5.1</st1:chsdate>.js中提供了JSON的方法,String.evalJSON(), 可以不使用json.js, 修改上面的方法
.net中的例子:
var ss = "";
function ShowOutsideLink(aa, stt, stt2, title) {
if ($("#Lc66").css("display") == 'none' || ss != stt2) {
$("#Lc66").css("top", getObjectTop(aa));
$("#Lc66").css("left", getObjectLeft(aa) - 120);
var tempi = "0";
if (stt == "SZ") { tempi = "1" }
$("#Lc66").html("<table width=/"120/" border=/"1/" cellpadding=/"0/" cellspacing=/"0/" bordercolor=/"#0031a5/"><tr><td bgcolor=/"blue/" align=/"center/">" + title + "(" + stt2 + ")</td></tr><tr><td bgcolor=/"#000000/"> <a href=/"http://finance.sina.com.cn/realstock/company/" + stt.toLowerCase() + stt2 + "/nc.shtml/" target=/"_blank/" onclick=/"javascript: $('#Lc66').hide()/">1.新浪财经</a><br> <a href=/"http://yahoo.compass.cn/stock/market.php?code=" + stt.toLowerCase() + stt2 + "/" target=/"_blank/" onclick=/"javascript: $('#Lc66').hide()/">2.雅虎财经</a><br> <a href=/"http://stock.finance.qq.com/sstock/ggcx/" + stt2 + ".shtml/" target=/"_blank/" onclick=/"javascript: $('#Lc66').hide()/">3.腾讯财经</a><br> <a href=/"http://q.stock.sohu.com/cn/" + stt2 + "/index.shtml/" target=/"_blank/" onclick=/"javascript: $('#Lc66').hide()/">4.搜狐财经</a><br> <a href=/"http://quotes.stock.163.com/" + tempi + stt2 + ".html/" target=/"_blank/" onclick=/"javascript: $('#Lc66').hide()/">5.网易</a><br> <a href=/"http://funds.money.hexun.com/fundsdata/close/default.aspx?code=" + stt2 + "/" target=/"_blank/" onclick=/"javascript: $('#Lc66').hide()/">6.MSN财经</a></td></tr></table>");
$("#Lc66").css("display", "");
ss = stt2
} else {
$("#Lc66").css("display", "none");
}
}
var count = 5; //定时刷新变量
var timerRe = window.setInterval(countDown, 1000); //定时事件
//每秒计算是否刷新
function countDown() {
count--;
if (count > -1) {
if (count == 0) {
AutoUpdateMsg();
count = 5;
}
}
}
//是否刷新下拉框选择事件
function NumUpdate(num) {
window.parent.topFrame.ReloadNumber = num;
count = num;
AutoUpdateState();
}
//var n = 0; //測試用
jQuery.fn.outerHTML = function(s) {
return (s)? this.before(s).remove(): jQuery("<p>").append(this.eq(0).clone()).html();
}
function AutoUpdateMsg() {
var _href = window.location.href;
var _index = _href.lastIndexOf('/');
_href = _href.substr(_index, _href.length).replace('/StockList.aspx', '').replace('?', '&');
var formdata = "Method=AutoUpdateStockMsg" + _href;
$.ajax({
type: "POST",
async: true,
url: "/Ajax.aspx?ran=" + (new Date()).getTime(),
datatype: "json",
data: formdata,
success: function(msg) {
if (msg != "0" || msg != "") {
var jsons = msg;
var arrayObj = new Array();
var json1 = "[" + msg + "]"
var run = true;
try {
var json = eval(json1);
} catch (oException) {
if (oException.name != '') {
run = false;
window.clearTimeout(timerRe);
}
}
if (run == true) {
///////////////////
for (var i = 0; i < json.length; i++) {
var mark = json[i]["stockNo"].fieldData.substring(0, 2);
var code = json[i]["stockNo"].fieldData.substring(2);
arrayObj.push(json[i]["stockNo"].fieldData);
if (SearchElement(json[i]["stockNo"].fieldData)) {
$("#TdMsg #" + json[i]["stockNo"].fieldData).removeClass();
$("#TdMsg #" + json[i]["stockNo"].fieldData).addClass(json[i]["stockNo"].bgColor);
$("#stockNo" + code + "> span").html(code);
$("#stockName" + code + "> span").html(json[i]["stockName"].fieldData);
$("#stockBuy" + code + "> span").html(json[i]["stockBuy"].fieldData);
$("#stockBuy" + code).attr("bgcolor", json[i]["stockBuy"].bgColor);
$("#stockBuy" + code + "> span").css("color", json[i]["stockBuy"].fontColor);
$("#stockSell" + code + "> span").html(json[i]["stockSell"].fieldData);
$("#stockSell" + code).attr("bgcolor", json[i]["stockSell"].bgColor);
$("#stockSell" + code + "> span").css("color", json[i]["stockSell"].fontColor);
$("#stockDeal" + code + "> span").html(json[i]["stockDeal"].fieldData);
$("#stockDeal" + code).attr("bgcolor", json[i]["stockDeal"].bgColor);
$("#stockDeal" + code + "> span").css("color", json[i]["stockDeal"].fontColor);
$("#stockChange" + code + "> span").html(json[i]["stockChange"].fieldData);
$("#stockChange" + code).attr("bgcolor", json[i]["stockChange"].bgColor);
$("#stockChange" + code + "> span").css("color", json[i]["stockChange"].fontColor);
$("#stockChangeRange" + code + "> span").html(json[i]["stockChangeRange"].fieldData);
$("#stockChangeRange" + code).attr("bgcolor", json[i]["stockChangeRange"].bgColor);
$("#stockChangeRange" + code + "> span").css("color", json[i]["stockChangeRange"].fontColor);
$("#stockVolume" + code + "> span").html(json[i]["stockVolume"].fieldData);
$("#stockVolume" + code).attr("bgcolor", json[i]["stockVolume"].bgColor);
$("#stockVolume" + code + "> span").css("color", json[i]["stockVolume"].fontColor);
$("#stockDellVolume" + code + "> span").html(json[i]["stockDellVolume"].fieldData);
$("#stockDellVolume" + code).attr("bgcolor", json[i]["stockDellVolume"].bgColor);
$("#stockDellVolume" + code + "> span").css("color", json[i]["stockDellVolume"].fontColor);
$("#stockLastClose" + code + "> span").html(json[i]["stockLastClose"].fieldData);
$("#stockLastClose" + code).attr("bgcolor", json[i]["stockLastClose"].bgColor);
$("#stockLastClose" + code + "> span").css("color", json[i]["stockLastClose"].fontColor);
$("#stockTop" + code + "> span").html(json[i]["stockTop"].fieldData);
$("#stockTop" + code).attr("bgcolor", json[i]["stockTop"].bgColor);
$("#stockTop" + code + "> span").css("color", json[i]["stockTop"].fontColor);
$("#stockLow" + code + "> span").html(json[i]["stockLow"].fieldData);
$("#stockLow" + code).attr("bgcolor", json[i]["stockLow"].bgColor);
$("#stockLow" + code + "> span").css("color", json[i]["stockLow"].fontColor);
if ($("#TdMsg:has(#" + json[i]["stockNo"].fieldData + ")")) {
$("#" + json[i]["stockNo"].fieldData).show();
}
}
else {
var newTR = "<tr id=/"" + json[i]["stockNo"].fieldData + "/" class=/"" + json[i]["stockNo"].bgColor + "/" onmousemove=/"this.style.backgroundColor='#333333'/" onmouseout=/"this.style.backgroundColor=''/"><td height=/"27/" align=/"center/" valign=/"middle f10/" id=/"stockNo" + code + "/" ><span>" + code + "</span></td><td width=/"1/"></td><td align=/"center/" valign=/"middle/" class=/"blueword16/" id=/"stockName0/"><span>" + json[i]["stockName"].fieldData + "</span></td><td width=/"1/" ></td><td align=/"center/" valign=/"middle/" id=/"stockBuy" + code + "/"><span>" + json[i]["stockBuy"].fieldData + "</span></td><td width=/"1/" ></td><td align=/"center/" valign=/"middle/" id=/"stockSell" + code + "/" ><span>" + json[i]["stockSell"].fieldData + "</span></td><td width=/"1/"></td><td align=/"center/" valign=/"middle/" id=/"stockDeal" + code + "/" bgcolor=/"" + json[i]["stockDeal"].bgColor + "/"><span style=/"color:" + json[i]["stockDeal"].fontColor + "/">" + json[i]["stockDeal"].fieldData + "</span></td><td width=/"1/" ></td><td align=/"center/" valign=/"middle/" id=/"stockChange" + code + "/" bgcolor=/"" + json[i]["stockChange"].bgColor + "/"><span style=/"color:" + json[i]["stockChange"].fontColor + "/">" + json[i]["stockChange"].fieldData + "</span></td><td width=/"1/" ></td><td align=/"center/" valign=/"middle/" id=/"stockChangeRange" + code + "/" bgcolor=/"" + json[i]["stockChangeRange"].bgColor + "/"><span style=/"color:" + json[i]["stockChangeRange"].fontColor + "/">" + json[i]["stockChangeRange"].fieldData + "</span></td><td width=/"1/" ></td><td align=/"right/" valign=/"middle/" class=/"senblue16/" id=/"stockVolume" + code + "/" ><span>" + json[i]["stockVolume"].fieldData + "</span></td><td width=/"1/" ></td><td align=/"right/" valign=/"middle/" class=/"yellowword16/" id=/"stockDellVolume" + code + "/" ><span>" + json[i]["stockDellVolume"].fieldData + "</span></td><td width=/"1/" ></td><td align=/"center/" valign=/"middle/" id=/"stockLastClose" + code + "/" ><span style=/"color:#FFFFFF/">" + json[i]["stockLastClose"].fieldData + "</span></td><td width=/"1/"></td><td align=/"center/" valign=/"middle/" id=/"stockTop" + code + "/" bgcolor=/"" + json[i]["stockTop"].bgColor + "/"><span style=/"color:" + json[i]["stockTop"].fontColor + "/">" + json[i]["stockTop"].fieldData + "</span></td><td width=/"1/"></td><td align=/"center/" valign=/"middle/" id=/"stockLow" + code + "/" bgcolor=/"" + json[i]["stockLow"].bgColor + "/"><span style=/"color:" + json[i]["stockLow"].fontColor + "/">" + json[i]["stockLow"].fieldData + "</span></td><td width=/"1/"></td><td align=/"center/" valign=/"middle/" id=/"stockTrend" + code + "/" ><a href=/"javascript:void(0)/" onclick=/"ShowOutsideLink(this,'" + mark + "','" + code + "','" + json[i]["stockName"].fieldData + "');return false;/"> <img src=/"/images/09_15cjsy_68.gif/" alt=/"走势/" style=/"cursor: hand;/" /></a></td><td width=/"1/"></td><td align=/"center/" valign=/"middle/" id=/"stockOpt" + code + "/" ><img src=/"/images/09_15cjsy_70.gif/" style=/"cursor: hand;/" onclick=/"AnteContion('" + json[i]["stockNo"].fieldData + "');/"/></td></tr>";
$(newTR).insertAfter("#TdMsg #" + json[i - 1]["stockNo"].fieldData);
}
}
$("#TdMsg tr:gt(1)").each(function(index, domEle) {
var element = $(domEle).attr("id");
var f = false;
for (var i = 0; i < arrayObj.length; i++) {
if (element == arrayObj[i]) {
f = true;
break;
}
}
if (f == false) {
$(domEle).hide();
}
});
///////////////////
}
//n++;//測試用
}
},
error: function() {
//alert('出错啦');
window.clearTimeout(timerRe);
}
});
}
function SearchElement(str) {
var flag = false;
$("#TdMsg tr:gt(1)").each(function(index, domEle) {
var element = $(domEle).attr("id");
if (element == str) {
flag = true;
}
});
return flag;
}
function AnteContion(strCode) {
var formdata = "Method=AnteContion";
$.ajax({
type: "POST",
async: true,
url: "/Ajax.aspx?ran="+(new Date).getTime(),
data: formdata,
success: function(msg) {
if (msg != "") {
alert(msg); //+ downDiv;
return false;
}
else {
location.href = "Ante.aspx?StockCode=" + strCode;
}
},
error: function() {
//alert('出错啦');
}
});
}
</script>
var parm = "";
var feeSum=0.0; //手续费总和
var hfeeSum = 0.0; //热门手续费总和
var retakeRewardSum = 0.0 //平倉盈亏总和
var bidRewardSum = 0.0 //留倉盈亏总和
var bidWorth = 0.0 //留倉现值总和
var todayBidFee = 0.0; //今日留倉费
var todayTotalReward = 0.0;//今日总盈亏
$("#BidData tr:gt(0)").each(function(index, domEle) {
//var strArr = $(domEle " > span").eq(0).text();
var strArr = $(domEle).find("span").eq(0).text();
parm += index > 0 ? "|" + strArr : strArr;
});
retakeRewardSum = isNaN(parseFloat($("#RetakeData #RetakeDataSum > span").text())) ? 0 : parseFloat($("#RetakeData #RetakeDataSum > span").text()); //平倉盈亏总和
var formdata = "Method=AutoUpdateInventory&StockSymbol=" + parm;
$.ajax({
type: "POST",
async: true,
url: "/Ajax.aspx",
datatype: "json",
data: formdata,
success: function(items) {
if (items != "0" || items != "") {
var jsons = items;
var arrayObj = new Array();
var json1 = "[" + items + "]"
var run = true;
try {
var json = eval(json1);
} catch (oException) {
if (oException.name != '') {
run = false;
window.clearTimeout(timerRe);
}
}
if (run == true) {
var num = $("#BidData").find("tr").length;
$("#BidData tr:gt(0)").each(function(index, domEle) {
if (index == num - 2) {
//do nothing
} else {
var symbol = $(domEle).find("span").eq(0).text();
var trID = $(domEle).attr("id");
//var reward = ((parseFloat(json[0][symbol]) - parseFloat($(domEle).find("#d" + trID).text())) * parseFloat($(domEle).find("#v" + trID).text())) * 100 + parseFloat($(domEle).find("#f" + trID).text()) + parseFloat($(domEle).find("#hf" + trID).text());
var reward = ((parseFloat(json[0][symbol]) - parseFloat($(domEle).find("#p" + trID).attr("yes"))) * parseFloat($(domEle).find("#v" + trID).text())) * 100 + parseFloat($(domEle).find("#f" + trID).text()) + parseFloat($(domEle).find("#hf" + trID).text());
$(domEle).find("#p" + trID).text(parseFloat(json[0][symbol]).toFixed(2));
$(domEle).find("#r" + trID + " > span").text(reward.toFixed(2));
ConfirmClass($(domEle).find("#r" + trID + " > span"), reward.toFixed(2), "");
feeSum = feeSum + parseFloat($(domEle).find("#f" + trID).text());
hfeeSum = hfeeSum + parseFloat($(domEle).find("#hf" + trID).text());
bidRewardSum = bidRewardSum + parseFloat(reward);
//alert($(domEle).find("#f" + trID).text());
bidWorth = bidWorth + (parseFloat(json[0][symbol]) * parseFloat($(domEle).find("#vb" + trID).text()) * 100);
}
});
//$("#fSum > span").text(feeSum.toFixed(2));
ConfirmClass($("#fSum > span"), feeSum.toFixed(2), "sum");
//$("#hfSum > span").text(hfeeSum.toFixed(2));
ConfirmClass($("#hfSum > span"), hfeeSum.toFixed(2), "sum");
//$("#rSum > span").text(bidRewardSum.toFixed(2));
ConfirmClass($("#rSum > span"), bidRewardSum.toFixed(2), "sum");
//$("#Summary #bidWorth > span").text(bidWorth.toFixed(2));
ConfirmClass($("#Summary #bidWorth > span"), bidWorth.toFixed(2), "sum");
todayBidFee = -bidWorth * parseFloat($("#Summary #bidRate").text());
//$("#Summary #todayBidFee > span").text(todayBidFee.toFixed(2));
ConfirmClass($("#Summary #todayBidFee > span"), todayBidFee.toFixed(2), "sum");
//$("#Summary #retakeRewardSum > span").text(retakeRewardSum.toFixed(2));
ConfirmClass($("#Summary #retakeRewardSum > span"), retakeRewardSum.toFixed(2), "sum");
//$("#Summary #bidRewardSum > span").text(bidRewardSum.toFixed(2));
ConfirmClass($("#Summary #bidRewardSum > span"), bidRewardSum.toFixed(2), "sum");
todayTotalReward = todayBidFee + retakeRewardSum + bidRewardSum;
//$("#Summary #todayTotalReward > span").text(todayTotalReward.toFixed(2));
ConfirmClass($("#Summary #todayTotalReward > span"), todayTotalReward.toFixed(2), "sum");
}
}
},
error: function() {
//alert('出错啦');
window.clearTimeout(timerRe);
}
});
}
function ConfirmClass(domEle, val, loc) {
//$(domEle).removeClass();
if (val == 0) {
$(domEle).text("0");
}
if (val > 0) {
//$(domEle).addClass("n2");
if (loc == "sum") {
$(domEle).css("color", "Green");
}
else {
$(domEle).css("color", "#00ccff");
}
}
else if (val < 0) {
//$(domEle).addClass("n1");
$(domEle).css("color", "red");
}
}
- json学习-什么是json
- 【json】慕课网json学习
- JSON 学习
- JSON学习
- JSON学习
- JSON学习
- JSON学习
- JSON学习
- json 学习
- JSON学习
- JSON学习
- json学习
- json学习
- JSON学习
- json学习
- 学习JSON
- JSON学习
- json学习
- 杂记
- 主线程的两个特点
- platform sdk 最后一版适合VC6
- 执行回调的异步编程模型
- 【翻译】Python如何使用urllib2获取网络资源
- JSON学习
- 迷茫中
- 动态规划
- 续 Freetextbox1.63中文版的使用(二)
- 2410 IO端口驱动程序
- 推荐一本好书——The Linux Kernel Module Programming Guide 2009
- 《明朝那些事儿》读后感
- C++类定义中应该允许设置默认值
- PowerDesigner破解的两种方法