我有一些json代码,其中包含多个对象,如下:
[
{
"MNGR_NAME": "Mark",
"MGR_ID": "M44",
"EMP_ID": "1849"
},
{
"PROJ_ID": "88421",
"PROJ_NAME": "ABC",
"PROJ_ALLOC_NO": "49"
}
我的JSON循环片段是
function ServiceSucceeded(res)
{
for (index in res) {
var obj = res[index];
for (objectIndex in obj) {
if (objectIndex != "MGR_ID" && objectIndex != "PROJ_ID") {
alert(objectIndex + ": " + obj[objectIndex]);
}
}
}
}
我已经跳过了不需要显示的MGR_ID和PROJ_ID的警告,请问如何将objectIndex值替换/格式化为正确的名称?将MNGR_NAME称为经理名称,将PROJ_NAME称为项目名称?我打算在格式中附加格式化的值(正确的名称)以供显示。
非常感谢任何帮助。
由于
答案 0 :(得分:0)
将正确的名称存储在结构中,然后在输出时解码它们。例如:
displayNames = {
"MNGR_NAME" : "Manager Name",
"PROJ_NAME" : "Project Name" //etc...
};
function ServiceSucceeded(res)
{
for (index in res) {
var obj = res[index];
for (objectIndex in obj) {
if (objectIndex != "MGR_ID" && objectIndex != "PROJ_ID") {
alert(displayNames[objectIndex] + ": " + obj[objectIndex]);
}
}
}
}
答案 1 :(得分:0)
我使用查找表:
var displayLabels = { MNGR_NAME: 'Manager Name', PROJ_NAME : 'Project name' };
答案 2 :(得分:0)
使用http://www.railodeveloper.com/jquery-tojson-function/toJSON.js,您可以执行此操作
var objData = $.parseJSON(myJSON); // parse it
objData.jsonIndex = 'some new value'; // change a value
myJSON = $.toJSON(objData); // resave it
我实际上用它来解决别人的问题和made a jsFiddle for it too。