格式化角度数据绑定的JSON

时间:2016-03-28 12:12:22

标签: javascript jquery angularjs json

当我的ajax调用完成后,返回一个json数组enter image description here

我的角度数据绑定工作完美,我需要将所有值合并到一个JSON文件中。我试过$ .extend(),它给出了以下输出 enter image description here

需要一个解决方案

例如,如果我的回答如下:

[0:"{'test':'test'}", 1:"{'test':'test'}", 2:"{'test':'test'}",3: "{'test':'test'}"];

我需要的输出是:

{ test':'test', 'test':'test', 'test':'test', 'test':'test' }

编辑: 最终值将自动与ng模型相关联。

所需的输出示例:

{
"unique_id": 172,
"portfolio": "DIGITAL",
"bus_unit": "dummy",
"project_phase": "",
"test_phase": "SIT",
"project": "Google",
"golivedate": "03/09/2016",
"performance": "Green",
"summary": "jgnbfklgnflknflk",
"last_updated": "",
"risks_issues": "gfmngfnfglkj",
"project_start": "03/16/2016",
"batchLast_run": "",
"custom_project": "1",
"test_execution_id": 5456,
"unique_id": 172,
"test_execution_id": 5456,
"pass": 8,
"fail": 8,
"blocked": 8,
"in_progress": 8,
"no_run": 8,
"not_available": 0,
"total": 8  
}

4 个答案:

答案 0 :(得分:2)

据我所知,您正在尝试将Json数据数组转换为一个singel json数据。所以你有一系列的值,但你希望它们都在一个变量中。试试这个

var testData = ["{'test':'test'}", "{'test':'test'}", "{'test':'test'}", "{'test':'test'}"];

var finalData ="";

$.each(testData,function(index,value){
   finalData += value +',';
});

finalData = finalData.replace(/\},\{/g,',').slice(0, -1);

document.write(finalData);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 1 :(得分:1)

Map只将函数应用于数组中的每个元素。

Session["DataSet1"] = dataSet1;

答案 2 :(得分:1)

如果您使用underscore.js,则可以轻松

像:

var list = [{"test1": "test1"}, {"test2": "test2"}, {"test3": "test3"}];
var newList = _.extend.apply(null,[{}].concat(list));

然后输出

{ test1: "test1", test2: "test2", test3: "test3" }

答案 3 :(得分:0)

迭代数组,将每个值转换为JSON对象,连接,然后转换回字符串。

如果你需要这么多次,你可能应该把它变成一个功能。