JavaScript JSON 语法错误 : Unrecognized Expression

标签 javascript c# jquery ajax json

我尝试使用 jQuery 迭代此 JSON 表达式中的对象:

[
    {
        "value": 609,
        "label": "Wyandotte, MI"
    },
    {
        "value": 3141,
        "label": "Wilmington, NC"
    }
]

这样每个对象都包含两个属性:值和标签。

这是我到目前为止所拥有的:

$(data).each(function () {
     alert('value: ' + this.value + ' label: ' + this.label);
});

但我不断收到错误: 未捕获错误:语法错误,无法识别的表达式

有人可以帮忙吗?

编辑:
示例中的数据变量是任意的。实际发生的事情是我得到了一个像这样的对象数组:

data =
[
    locations: "[{"value":5626,"label":"Bensenville, IL"}]",
    notes: "Sample note"
]

然后我调用data = JSON.parse(data);

然后我对 data.locations 执行迭代,这会产生错误。

编辑(再次):
https://jsfiddle.net/e2p7gdod/
我一直在努力重现我所看到的。
这就是我生成返回结果的方式:

public JsonResult Foo()
{
    var data = new JObject();
    data["locations"] = "[{'value': 609,'label': 'Wyandotte, MI'},{'value': 3141,'label': 'Wilmington, NC'}]";
    data["supervisor"] = "John Doe";
    data["notes"] = "Sample note";

    return new JsonResult()
    {
        Data = JsonConvert.SerializeObject(data),
        JsonRequestBehavior = JsonRequestBehavior.AllowGet
    };
}

最佳答案

您似乎正在尝试将 JSON 对象放入 data.locations 中,但语法错误。 JSON 中的字符串必须用双引号括起来,而不是单引号。

public JsonResult Foo()
{
    var data = new JObject();
    data["locations"] = "[{\"value\": 609,\"label\": \"Wyandotte, MI\"},{\"value\": 3141,\"label\": \"Wilmington, NC\"}]";
    data["supervisor"] = "John Doe";
    data["notes"] = "Sample note";

    return new JsonResult()
    {
        Data = JsonConvert.SerializeObject(data),
        JsonRequestBehavior = JsonRequestBehavior.AllowGet
    };
}

然后在Javascript中,当你想迭代它时,你需要调用JSON.parse(data.locations):

var locations = JSON.parse(data.locations);
$.each(locations, function() {
    alert('value: ' + this.value + ' label: ' + this.label);
});

关于JavaScript JSON 语法错误 : Unrecognized Expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31350053/

相关文章:

javascript - 如何向服务器发出请求并释放 JavaScript 来继续处理

c# - 如何从 Visual Studio 编辑器检索文本以与 Roslyn SyntaxTree 一起使用?

c# - 将字符串拆分为多个字母和数字段

javascript - 在 Parse.com Cloud Code 和 Stripe 中通过 JSON 进行解析

javascript - 如何使用事件处理程序创建 5 个 JQuery AJAX 调用?

javascript - jQuery onclick 事件在 Bootstrap 轮播中未触发

javascript - 无法读取未定义的属性 'Push' - Typescript

javascript - 正则表达式删除所有重复的字符

javascript - Browserify 需要使用 Browserify 构建的 vendor 模块

c# - DefaultMemberAttribute - 它有什么作用?