json学习

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

js 代码
  1. function myEval() {   
  2.     var str = '{ "name""Violet""occupation""character" }';   
  3.     var obj = eval('(' + str + ')');   
  4.     alert(obj.toJSONString());   
  5. }   

或者使用parseJSON()方法

js 代码
  1. function myEval() {   
  2.     var str = '{ "name""Violet""occupation""character" }';   
  3.     var obj = str.parseJSON();   
  4.     alert(obj.toJSONString());   
  5. }  

 

 

你可能感兴趣的:(JavaScript,html,json,xml,Microsoft)