将 JSON 数据追加到自定义 JQuery 函数中

Append JSON data into custom JQuery function

本文关键字:JQuery 函数 自定义 JSON 数据 追加      更新时间:2023-09-26

我正在尝试将一些json数据加载到自定义JQuery函数中。可能有一个简单的解决方案,我承认我正在边走边学。请告知我是否只是以错误的方式去做。

到目前为止,我

只是将其附加到正文中,以确保我确实正确找到数据。我也试图使用 append() 将其添加到函数中,但没有到达任何地方。

$.getJSON("designs/new.json",function(result){
        $.each(result, function(i, field){
            $("body").append(field['hex'] + " ");
        });
});

从本质上讲,我想做的是将此 colorPicker 函数的十六进制数据值替换为上面 json 数据中的十六进制代码。我已经搞砸了一段时间,似乎找不到正确的方法。

$.fn.colorPicker.defaults.colors = ['000', '000', 'fff', 'fff'];

我提前感谢您的帮助!

尝试使用 alert(JSON.stringify(result)) 查看您的 JSON 数据是否正确加载。此代码应该有效:

$.getJSON("t.json", function (result) {
  //alert(JSON.stringify(result));
  $.fn.colorPicker.defaults.colors = result.colors;
});

其中 t.json 包含以下内容:

{
  "colors": ['00a', '00b', 'ffa', 'ffb']
}
如果我

理解正确:

1)你的JSON返回一个对象数组(大概是四个?),每个对象都有一个"十六进制"属性。2) 您希望根据这四个十六进制属性设置颜色选择器的默认颜色。

因此,假设

我的假设是正确的,并且您的数组已正确排序,您可以执行以下操作:

$.getJSON("designs/new.json",function(result){
        $.fn.colorPicker.defaults.colors = $.map(result, function(i) {
            return i.hex;
        });
});

我已经将十六进制属性映射到一个数组,并将其直接分配给颜色。 同样,这是假设结果对象中有一个包含四个对象的数组,每个对象都有一个 hex 属性。