有效的JSON文件可以仅包含一个对象的描述吗?

时间:2018-08-30 14:07:07

标签: javascript json

给定JSON文件的示例如下:

result = {
    "name": "Foo",
    "id": "10001",
    "values": "1,2,3,4"
};

2 个答案:

答案 0 :(得分:1)

否,那不是有效的JSON。

首先,JSON是一个字符串。您在问题中遇到的是一个分配给变量result的{​​{3}}表达式。

转到JavaScript object literal,将文件粘贴到框中,然后单击“验证”。您将看到以下输出:

Error: Parse error on line 1:
result = {  "name": 
^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'

https://jsonlint.com/中可以看到,您不能将变量作为顶级实体。 JSON字符串中的有效实体为:

  • 一个字符串
  • 一个对象
  • 一个数组
  • 一个数字

您的result变量不是其中之一。这是一个变量,仅在JavaScript中有效。

答案 1 :(得分:1)

objLiteral = {
    "name": "Foo",
    "id": "10001",
    "values": "1,2,3,4"
};

jsonString = '{ "name": "Foo", "id": "10001", "values": "1,2,3,4" }';

var myObj = JSON.parse( jsonString );

console.log(objLiteral);
console.log(myObj);

console.log(objLiteral.name);
console.log(myObj.name);
<pre>Sample javascript</pre>