首页 > 解决方案 > 怀疑是json数据还是JavaScript对象

问题描述

我是编程的初学者。我研究过 Stack Overflow 和 W3schools,我的小项目只是为了学习和改进。

我有一个问题,我的程序正在正常工作,但问题是我不确定(有疑问)我制作的 json 文件是真正的 json 还是 JavaScript 对象?

一个说是,一个说不是,如果不是真正的 json,如何将其更改为真正的 json,因为我无法弄清楚。

我有三个组,每个组有 4 人,这些人在所有 3 个组中都是相同的,只是数字不同(学分或投票),我有一个名为“values.json”的 json 文件(我认为它是 json) .

以下是代码:

  <!DOCTYPE html>
    <html lang="en">

    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <script type="text/javascript" src="values.json"></script>
    <style>
    * {
        box-sizing: border-box;
    	   box-sizing: border-box;
       -webkit-box-sizing
       -moz-box-sizing: border-box;
    }

    .oee {
      float:left;
      height: 550px;
      width: 100%;
      display: inline-block;
    }

    .gauge {
      height: 250px;
      display: inline-block;
      width: 100%;
    }
     
    h1 { 
      float:left;  
    }

    body {   
      margin: 100px auto;  
      text-align: center; 
    }

    @media only screen and (orientation: landscape) {
    .gauge {
      width: 30%; 
    }

    .oee{width: 50%;
      margin-left: -132px;
    }
    }
      </style>
    </head>
    <body >
    <h1>people votes</h1>
     <div class="all">
         <div id="ww1" class="oee"></div>
        <div id="ww2" class="gauge" data-value=valuesparsed['Pekka']></div><br>
    	<div id="ww3" class="gauge"></div><br>
        <div id="ww4" class="gauge"></div>
      </div>    
      <script src="raphael-2.1.4.min.js"></script>
      <script src="justgage.js"></script>
      <script>
      document.addEventListener("DOMContentLoaded", function(event) {
        var valuesparsed = JSON.parse(values2)

        var dflt = {
          min: 0,
          max: 100,
       //   donut: true,
          gaugeWidthScale: 1.1,
          counter: true,
          hideInnerShadow: true
        }

        var ww1 = new JustGage({
          id: 'ww1',
          value: valuesparsed['Laura'],
          title: 'Laura ',
          defaults: dflt
        });

        var ww2 = new JustGage({
          id: 'ww2',
          title: 'Pekka',
          defaults: dflt
        });
    	
    	    var ww3 = new JustGage({
          id: 'ww3',
          value: valuesparsed['Jussi'],
          title: 'Jussi',
          defaults: dflt
        });
    	
    	    var ww4 = new JustGage({
          id: 'ww4',
          value: valuesparsed['Kalle'],
          title: 'Kalle',
          defaults: dflt
        });

      });
      
      </script>
    </body>
    </html>

值.json

    values1= '{"Laura" : 45, "Pekka" : 89, "Jussi" : 35, "Kalle" : 25}';
    values2= '{"Laura" : 75, "Pekka" : 59, "Jussi" : 85, "Kalle" : 95}';
    values3= '{"Laura" : 55, "Pekka" : 15, "Jussi" : 45, "Kalle" : 67}';

标签: javascriptjsonajaxhtml

解决方案


你的 value.json

values1= '{"Laura" : 45, "Pekka" : 89, "Jussi" : 35, "Kalle" : 25}';
values2= '{"Laura" : 75, "Pekka" : 59, "Jussi" : 85, "Kalle" : 95}';
values3= '{"Laura" : 55, "Pekka" : 15, "Jussi" : 45, "Kalle" : 67}';

不是真正的 JSON。

JSON 以任一开头

{

一个东西。

或者

[

数组。

并根据它们的开始以相同的方式结束。

一个例子是

{"Laura" : 45, "Pekka" : 89, "Jussi" : 35, "Kalle" : 25}

在您的场景中,您希望有一个 JSON 数组来保存您的对象,如下所示:

[{
        "Laura": 45,
        "Pekka": 89,
        "Jussi": 35,
        "Kalle": 25
    },
    {
        "Laura": 75,
        "Pekka": 59,
        "Jussi": 85,
        "Kalle": 95
    },
    {
        "Laura": 55,
        "Pekka": 15,
        "Jussi": 45,
        "Kalle": 67
    }
]

推荐阅读