javascript - JSON 解析问题

标签 javascript jquery json

我是 jQuery 中 JSON 解析的完全菜鸟。以为我得到了回应......我的数据是这种形式:

Array(
[1]=>abc,
[3]=>mango,
[4]=>apple,
[5]=>fruits
)

通过这种方式,我希望此列表显示为自动完成列表。我正在使用。

    jQuery("#name").autocomplete( '<?php echo HTTP_PATH.'/songs/sss'; ?>', {
    multiple: true,
    mustMatch: true,        
    matchContains: true,
    autoFill: false,
    dataType: "json",
    parse: function(data) {
            return jQuery.map(data, function(item) {
                return { data: item, value: item.label, result: item.label};
            });
        },
        formatItem: function(item) {
            return item.label;
        },
        formatResult: function(item) {
            return item.id;
        },
        formatMatch: function(item) {
            return item.label;
        }

});

我想要它显示列表时的值,即来 self 的数据的标签。当我选择一个标签时,它应该会显示标签。但在提交时,它实际上应该提交 key 。 我的意思是我希望它作为 HTML 的选择框工作。

返回的JSON

 [{"id":1,"label":"Mehdi Hassan"},{"id":2,"label":"Jagjit Singh"},{"id":3,"label":"Suresh Vadekar"}]

最佳答案

您的 JSON 似乎不是数组,只是一个对象( HashMap )。 查看官方docs :

Expected data format

The data from local data, a url or a callback can come in two variants:

  • An Array of Strings: [ "Choice1", "Choice2" ]

  • An Array of Objects with label and value properties: [ { label: "Choice1", value: "value1" }, ... ]

在您的情况下,它应该采用以下格式:

[
   {"1":"Shad.aab"},
   {"158":"Adadad"},
   {"159":"Asdadad"},
   {"166":"Abbas"},
   {"167":"Sdadad"},
   {"171":"Shadaab Please check it out"},
   {"173":"Check This Please"},
]

(记住左边是标签,右边是值,我想在你的数据中,所有的都应该颠倒......)

关于javascript - JSON 解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10286811/

相关文章:

javascript - 如何使Superfish菜单在第一级垂直但在第二级水平?

javascript - 如何从 Controller 获取表示 ngRepeat 中元素的 HTML 节点的参数?

php - Jquery 模态表单在 PHP 中不适用于我

javascript - 无法在使用ajax调用MVC调用的部分 View 中运行javascript

javascript - 如何将路由器放入路由器内部

javascript - 在日期选择器中选择后禁用日期

jquery - Safari - 错误 : Syntax error, 无法识别的表达式:输入[data-card-type =“payment-one”

ajax - 像 'for (;;); { json data }' 这样的 Ajax 调用响应是什么意思?

java - spring 4 ajax 响应 406 Not Acceptable

jquery - 命令行查找一行并在其余文本之前和之后添加“