简体   繁体   English

json嵌套数组错误

[英]json nested arrays error

hey before i start with the main question i should state that the .json file is an external file in the same folder with .html files.I do not know if it helps but i am new to json. 嘿,在我开始主要问题之前,我应该声明.json文件是与.html文件在同一文件夹中的外部文件。我不知道它是否有帮助,但我是json的新手。
My questions are 1) why jsfiddle throws throws errors at "papadopoulos_antonis": [{ 我的问题是1)为什么jsfiddle引发"papadopoulos_antonis": [{错误"papadopoulos_antonis": [{
"papadopoulos_stauros":=[{ "maria_anagnostou":= [{ 2) is it right to do <link src=.../> to read json file? "papadopoulos_stauros":=[{ "maria_anagnostou":= [{ 2)做<link src=.../>以读取json文件正确吗?

Thanks 谢谢

 //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 an invalid JSON will not work. JSON.parse 无效的JSON将不起作用。

users = [ is an array and an array should look like: users = [是一个数组,数组应类似于:

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

instead you have: 相反,您有:

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

which should instead be an Object: 而是应该是一个对象:

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

Fix your . 解决您的问题. >>> , typo. >>> ,错字。
For a valid JSON use double-quotes: 对于有效的JSON,请使用双引号:

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

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

To get your JSON file see: Get JSON data from external URL and display it in a div as plain text 要获取JSON文件,请参阅: 从外部URL获取JSON数据,并在div中将其显示为纯文本格式

If you want to treat your "JSON" like an JS object than yes, you can call it using 如果您想将“ JSON”视为JS对象,则可以使用

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM