JSONArray对象转换为jquery

JSONArray object to jquery

本文关键字:jquery 转换 对象 JSONArray      更新时间:2023-09-26

在我的Java代码中,我有一个JSONArray对象,名为colorList,其中包含一个颜色列表。它看起来是这样的:["Red", "Yellow", "Blue"]

我如何将这个值传递给jquery变量?

我的jquery应该是这样的:

var hooks = {  
   processOptions: [function(plot,options) {  
           options.colors = ["Red", "Yellow", "Blue"];
   }]  
 };

您可以尝试.get ajax调用,它可以接收JSON。

    $.get('YourServlet', {varTest: 'Test'}, function (response) {
            var jSON = JSON.parse(response);  });// varTest if you want to pass some values once you have the JSON you can get the inside data. 

查看JSON2文档中的JSON.stringify()JSON.parse()

语法:

myData = JSON.parse(text); // from json string to js object
var myJSONText = JSON.stringify(myObject, replacer); // js object to json string

代码片段:

在AJAX返回函数之后使用下面的代码。

var myData = JSON.parse(text);
String val = '';
for (var i = 0; i < options.colors.length; i++){
   val = myData.options.colors[i] + ",";
}
if (val .indexOf(",") != -1){
    val = val .substring(0, val .length-1);
}

看起来你想要这样做:

设置初始对象:

var hooks = {
   processOptions: []
};

创建一个稍后使用的函数,该函数返回一个新函数,该函数设置传递给它的对象的colors键:

function createFunction(data) {
  return function (plot, options) {
     options.colors = data;
  }
}

从服务器获取颜色数组数据,使用该数据创建一个新函数,并将其推入hooks.processOptions数组:

$.get(endpoint).then(function (data) {
    // var data = ["Red", "Yellow", "Blue"];
    var options = {};
    var plot = null;  
    hooks.processOptions.push(createFunction(data));
    // you can then call that function with the arguments you need
    hooks.processOptions[0](plot, options);
});

你可以在这个DEMO中看到,当函数被调用时,它会将数组记录到控制台。