天天看点

json转换对象和字符串,实例解析

是ES5.1出来的

JSON.stringify() 转为字符串

JSON.parse() 解析json

json的标准写法

1.只能用双引号

2.所有的名字都必须用引号包起来

实例:

<body>
  <div id="result"></div>
  <script>
    const result =document.getElementById('result')
    // 绑定键盘按下事件
    window.onkeydown = function(){
      // 发送请求
      const xhr = new XMLHttpRequest();
      // 设置响应体数据的类型,设置这个可以自动转化
      xhr.responseType = 'json';
      // 初始化
      xhr.open('GET','http://127.0.0.1:8000/json-server'); 
      // 发送
      xhr.send();
      // 事件绑定
      xhr.onreadystatechange = function(){
        if(xhr.readyState === 4){
          if(xhr.status>=200 && xhr.status < 300){
            //
            // console.log(xhr.response);
            // result.innerHTML = xhr.response;
            // 手动对数据转化
            // 将字符串转换为对象,JSON.parse()ie8及以下不支持
                // 但是可以用json2.js这个框架来兼容,百度查
            // let data = JSON.parse(xhr.response);
            // console.log(data);
            // result.innerHTML = data.name
            
            // 自动转换
            console.log(xhr.response);
            result.innerHTML = xhr.response.name 
          }
        }
      }
    }
  </script>
</body>
 
 
 
服务端
// JSON响应
app.all('/json-server', (request, response) => {
  // 设置响应头    设置允许跨域
  response.setHeader('Access-Control-Allow-Origin', '*');
  // 响应头
  response.setHeader('Access-Control-Allow-Headers', '*');
  //响应一个数据
  const data = {
    name: 'atguigu'
  };
  // 进行字符串的转换
  let str = JSON.stringify(data);
  //设置响应体
  response.send(str)
});