使用从程序调用返回的数据填充Javascript对象

时间:2014-03-06 14:27:44

标签: javascript object

我有一个调用外部程序的javascript函数,我需要将结果放入一个对象,该对象将包含多行,每行包含多个值,例如:

$.get(programcall , function(data) {    
var dealers = {};
data = {0:{'name':'name1','address':'address1','phone':'phone1','miles':1.2},1:{'name':'name2','address':'address2','phone':'phone2','miles':2.2}};
dealers = data;
});

此测试有效,因为“数据”未包含在引号中,但是当从被调用程序返回“数据”的内容时,它只是“经销商”中的文本内容。

如何将值存储为对象?

被调用的程序是MINE,因此我可以根据需要更改格式以使其正常工作。 数据将是具有名称,地址等的客户列表,我想使用javascript处理这些客户并填充DIV。

2 个答案:

答案 0 :(得分:1)

您的外部服务器调用正在返回字符串内容作为数据对象。希望这是一种有效的JSON格式,但它仍然只是一个字符串。

您可能想要做的是使用jQuery's getJSON function而不是简单的$ .get,因为它会将响应转换为类似于您的示例的JSON对象。

$.getJSON(programcall, function(data) {
   // data is now a JSON object not a string, if it's valid json from your server response

答案 1 :(得分:1)

如果字符串是有效的JSON,请使用本机JSON.parse函数将其转换为对象。

例如:

data = JSON.parse('{"mything": 3}')

需要注意的一点是:JSON需要围绕键名引用双引号,因此{"mything": 3}可以正常工作但{'mything': 3} will not validate

相关问题