javascript - json嵌套数组错误

标签 javascript json

嘿,在我开始主要问题之前,我应该声明 .json 文件是与 .html 文件位于同一文件夹中的外部文件。我不知道它是否有帮助,但我是 json 的新手。
我的问题是 1)为什么jsfiddle会在"papadopoulos_antonis": [{处抛出错误
"papadopoulos_stauros":=[{ "maria_anagnostou":= [{ 2) 这样做是否正确 <link src=.../>读取json文件?

谢谢

//this is in a json external file.the file is in the same folder with other html files
   users = [

"papadopoulos_antonis": [{
fname: 'Παπαδόπουλος Αντώνης',
field1: 'Συντήρηση Αυτοκινήτου',
field2: 'Ορειβατικός εξοπλισμός',
field3: 'Μάθημα Καράτε',
field4: ''
}],

"papadopoulos_stauros":[{
fname: 'Παπαδόπουλος Σταύρος',
field1: 'Αναψυκτικά',
field2: 'Αλκοολούχα ποτά',
field3: 'Εξοδα καυσίμων',
field4: ''
}],

"maria_anagnostou": [{
fname: 'Αναγνώστου Μαρία',
field1: 'Διαφήμιση επιχείρησης',
field2: 'Τεχνικός επιχείρησης',
field3: 'Μηχανικός επιχείρησης',
feild4: ''
}] 
]


function jsonObjs(select) {
  
  var = JSONobject = JSON.parse(users);
  alert(users.papadopoulos_antonis[fname]);
  if (select == 1) {
    alert(users.papadopoulos_antonis[fname]);
  } else if (select == 2) {
    alert(users.papadopoulos_stauros[fname]);
  } else if (select == 3) {

  }
}
<link src="formMembers.json" type="text/javascript"/>


    <select id="selectCategory" onchange="jsonObjs(this)">
        <option>Επιλογή...</option>
        <option>Παπαδόπουλος Αντώνης</option>
        <option>Παπαδόπουλος Σταύρος</option>
        <option>Αναγνώστου Μαρία</option>
    </select>

最佳答案

JSON.parse 无效的 JSON 将不起作用。

users = [ 是一个数组,数组应该如下所示:

users = ["val", "val", "val"]

相反,你有:

users = [prop:"val", prop:"val", prop:"val"]

它应该是一个对象:

users = {prop:"val", prop:"val", prop:"val"} // Plain Object (not valid JSON)

修正您的 .>>>, 拼写错误。
对于有效的 JSON,请使用双引号:

{
    "papadopoulos_antonis": {
        "fname": "ΠαπαδόπουλοςΑντώνης",
        "field1": "ΣυντήρησηΑυτοκινήτου",
        "field2": "Ορειβατικόςεξοπλισμός",
        "field3": "ΜάθημαΚαράτε",
        "field4": ""
    },
    "papadopoulos_stauros": {
        "fname": "ΠαπαδόπουλοςΣταύρος",
        "field1": "Αναψυκτικά",
        "field2": "Αλκοολούχαποτά",
        "field3": "Εξοδακαυσίμων",
        "field4": ""
    },
    "maria_anagnostou": {
        "fname": "ΑναγνώστουΜαρία",
        "field1": "Διαφήμισηεπιχείρησης",
        "field2": "Τεχνικόςεπιχείρησης",
        "field3": "Μηχανικόςεπιχείρησης",
        "feild4": ""
    }
}

//有效 JSON http://jsonlint.com/

要获取 JSON 文件,请参阅:Get JSON data from external URL and display it in a div as plain text

如果你想像对待 JS 对象一样对待你的“JSON”,你可以使用

来调用它
<script src="myJson.js"></script>
<script>
    console.log(users); // Works
</script>

关于javascript - json嵌套数组错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28336080/

相关文章:

javascript - 在 jQuery 中显示/隐藏父 div 中的元素

javascript - 水平对齐来自两个不同 div 的文本

javascript - IE 10/11 中的 CSS MegaMenu 全宽

来自 Class 的 C# Json 格式化

javascript - 在显示图库图像时需要有关 Flickr/JSON/Javascript 问题的帮助

android - 选择根元素(又名键或信封)

javascript - 在 nvd3 多图表中显示日期

javascript - 有没有办法测量用户在他的网站上可见的高度?

javascript - 遍历 jquery json

ruby-on-rails - 如何在 Rails 模型中验证字符串是否为 json