JSON 格式在 JSONLint 上失败

发布于 2024-11-01 13:45:05 字数 641 浏览 1 评论 0原文

我正在编写一些函数来构造格式正确的 JSON 字符串,然后我可以将其解析为 JSON 对象。

我的对象在 JSONLint 上失败,并出现以下错误:

syntax error, unexpected TINVALID at line 2

[
    SERVER: {
        ip = 10.10.10.1,
        port = 8100
    },
    TYPES: [
        ssh,
        shht
    ]
]

我假设这会给我一个 JavaScript 对象数组。

即使我这样做了(对象而不是数组):

{
    SERVER: {
        ip = 10.10.10.1,
        port = 8100
    },
    TYPES: [
        ssh,
        shht
    ]
}

它不起作用并且我得到相同的错误:

我假设使用该对象,我将能够像这样访问一些数据:

var serverIP = myObject.SERVER.ip;

这当然是我想要的去做。

预先非常感谢,

I'm writing some functions that construct what should be a properly formatted JSON string which I can then parse into a JSON object.

My object is failing on JSONLint with the following error:

syntax error, unexpected TINVALID at line 2

[
    SERVER: {
        ip = 10.10.10.1,
        port = 8100
    },
    TYPES: [
        ssh,
        shht
    ]
]

I assumed that this would give me an array of JavaScript objects.

Even if I did this instead (object instead of array):

{
    SERVER: {
        ip = 10.10.10.1,
        port = 8100
    },
    TYPES: [
        ssh,
        shht
    ]
}

It doesn't work and I get the same error:

I assume that with the object, I would be able to access some data like so:

var serverIP = myObject.SERVER.ip;

That's certainly what I'd like to do.

Many thanks in advance,

Joe

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

韶华倾负 2024-11-08 13:45:05

您必须在标识符周围使用引号,并且值是字符串:

这是有效的 JSON:

{
    "SERVER": {
        "ip": "10.10.10.1",
        "port": 8100
    },
    "TYPES": [
        "ssh",
        "shht"
    ]
}

如果您实际上根本没有使用 JSON,而只是尝试创建 Javascript 文字对象,那么您不应该使用 JSONLint 来检查代码。

这是有效的 JavaScript:

var myObject = {
    SERVER: {
        ip: '10.10.10.1',
        port: 8100
    },
    TYPES: [
        'ssh',
        'shht'
    ]
};

You have to use quotation marks around the identifiers, and the values that are strings:

This is valid JSON:

{
    "SERVER": {
        "ip": "10.10.10.1",
        "port": 8100
    },
    "TYPES": [
        "ssh",
        "shht"
    ]
}

If you are actually not using JSON at all, but just trying to create a Javascript literal object, then you should not use JSONLint to check the code.

This is valid Javascript:

var myObject = {
    SERVER: {
        ip: '10.10.10.1',
        port: 8100
    },
    TYPES: [
        'ssh',
        'shht'
    ]
};
肩上的翅膀 2024-11-08 13:45:05

这验证了:


{
    "SERVER": {
        "ip" : "10.10.10.1",
        "port" : 8100 
    },
    "TYPES": [
        "ssh",
        "shht" 
    ]
}

您需要在每个字符串周围使用双引号,并且由于它是一个对象,因此您需要 : 而不是 =

This validates:


{
    "SERVER": {
        "ip" : "10.10.10.1",
        "port" : 8100 
    },
    "TYPES": [
        "ssh",
        "shht" 
    ]
}

you need double quotes around every string and since its an object you need : instead of =

生生漫 2024-11-08 13:45:05

你将 json 对象与 javascript 数组混合在一起,

这是 json 格式

{
    "item":"value",
    "item2":"value"
}

,这将是一个 JavaScript 数组

[
    "apple",
    "orange"
]

操作系统,我认为这就是你正在寻找的

{
    "SERVER": {
        "ip": "10.10.10.1",
        "port": 8100
    },
    "TYPES": [
        "ssh",
        "shht"
    ]
};

your mixing json object with javascript arrays

this is json format

{
    "item":"value",
    "item2":"value"
}

and this would be a JavaScript array

[
    "apple",
    "orange"
]

os I think this is what you are looking for

{
    "SERVER": {
        "ip": "10.10.10.1",
        "port": 8100
    },
    "TYPES": [
        "ssh",
        "shht"
    ]
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文