没有获得 json .save 的输出,格式为 pars.html

not getting output for json .saved in pars.html format

本文关键字:格式 pars html 输出 json save      更新时间:2023-09-26
<html>
  <head>
    <center>
      <h2> create object from json string</h2>
    </center>
    <script>
     var text='{"fruits":[' + '{"name":"apple","price":"1000"},'
                + '{"name":"orange","price":"2000"},'
                + '{"name":"pine","price":"3000"}]}'
     obj1=JSON.parse(text);
     document.getElementById("demo").innerHTml = obj1.fruits[1].name + "" + obj1.fruits[2].price;
    </script>
  </head>
</html>

我无法获得这个概念的 o/p。我无法理解什么是解析。

Javascript 区分大小写,您当前使用的是 innerHTml 而不是 innerHTML ,这将不起作用:

document.getElementById('demo').innerHTML = obj1.fruits[1].name + '' + obj1.fruits[2].price;

此外,您可能希望简单地使用一行来定义 JSON 字符串,以避免在构建它时出现问题:

var text = '{"fruits":[{"name":"apple","price":"1000"},{"name":"orange","price":"2000"},{"name":"pine","price":"3000"}]}'

<body>
  <center><h2>create object from json string</h2></center>
  <pre>DEMO</pre>
  <!-- Required Demo Section -->
  <div id='demo'></div>
  <script>
     // Slightly revised building of JSON collection (to avoid concatenation issues)
     var text= '{"fruits":[{"name":"apple","price":"1000"},{"name":"orange","price":"2000"},{"name":"pine","price":"3000"}]}';
     var obj1= JSON.parse(text);
     // Use of proper innerHTML property
     document.getElementById("demo").innerHTML = obj1.fruits[1].name+ ' ' + obj1.fruits[2].price;
  </script>
</body>

您可以在此处查看此示例的实际效果。

使用 innerHTML 而不是 innerHTml

  var text = '{"fruits":[' + '{"name":"apple","price":"1000"}, ' + '{"name":"orange","price":"2000"}, ' + '{"name":"pine","price":"3000"} ]  }';
  obj1 = JSON.parse(text);
  document.getElementById("demo").innerHTML = obj1.fruits[1].name + " " + obj1.fruits[2].price;
<html>
<head>
  <center>
    <h2> create object from json string</h2>
  </center>
  <div id="demo"></div>
</head>
</html>

我可以

发现的错误:

  1. 忘记在页面上添加#dome元素
  2. innerHTml应该innerHTML
  3. text变量未正确初始化。这是一个解析错误。字符串结束引号和加号'+应位于字符串结束行上,如下例所示。

 var text = '{"fruits":[{"name":"apple","price":"1000"},' +
   '{"name":"orange","price":"2000"},' +
   '{"name":"pine","price":"3000"}' +
   ']}';
 obj1 = JSON.parse(text);
 document.getElementById("demo").innerHTML = obj1.fruits[1].name + " " + obj1.fruits[1].price;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<center>
  <h2> create object from json string</h2>
</center>
<div id="demo"></demo>