JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html
function getAPI() {
return new API();
}
function API() {
this.cmi=new cmi();
this.LMSSetValue=function(key,value)
{
var temp="this."+key+"='"+value+"'";
eval(temp);
}
this.LMSGetValue=function(key)
{
var temp="this."+key;
return eval(temp);
}
}
function cmi() {
this .suspend_data = "";
this .core = new core();
//course id not scorm
this.course_id="";
}
function core() {
this.lesson_progress = "";
this.lesson_status="";
this.score=new score();
this.lesson_mode="";
this.lesson_progress="";
this.session_time="";
this.total_time="";
}
function score() {
this.raw = "";
this.min="";
this.max="";
}
<script type="text/javascript" src="js/score.js"></script>
<script type="text/javascript" src="js/core.js"></script>
<script type="text/javascript" src="js/cmi.js"></script>
<script type="text/javascript" src="js/API.js"></script>
<script type="text/javascript" src="js/json.js"></script>
<script type = "text/javascript" >
var xmlHttp;
var API
function init() {
API=getAPI();
}
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function doJSON() {
var url = "/JSONExample?timeStamp=" + new Date().getTime();
API.LMSSetValue("cmi.course_id".toString(),"---王聪测试课程id----王聪测试课程id--".toString());
// API.LMSGetValue("cmi.course_id".toString());
createXMLHttpRequest();
//当false时候,没有回调函数,直接可以在该函数用xmlHttp.responseTEXT,否则要在回调函数中用xmlHttp.responseTEXT
xmlHttp.open( "POST" , url, false );
//回调函数
// xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(escape(JSON.stringify(API)));
alert("----返回值------"+xmlHttp.responseTEXT);
API=xmlHttp.responseTEXT.parseJSON();
alert(" 返回 "+JSON.stringify(API));
alert("-----------$$$$$$-------"+API.cmi.course_id);
}
function handleStateChange() {
if (xmlHttp.readyState == 4 ) {
if (xmlHttp.status == 200 ) {
//parseResults();
alert("回调结果-"+xmlHttp.responseTEXT);
}
}
}
</script>
注:
1.JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。
2.可以使用eval来转换JSON字符到Object
或者使用parseJSON()方法