读取地图数组的Javascript代码

读取地图数组的Javascript代码,javascript,jsp,jstl,jsp-tags,Javascript,Jsp,Jstl,Jsp Tags,以下是Java脚本中嵌入的jsp代码: //This object comes from Java code to Jsp Code. var msgs = [{name=rajasekhar, langId=en, bShow=true}, {name=sekhar, langId=de,bShow=false},{name=valli, langId=en, bShow=false}]; <script type="text/javascript"> var lang

以下是Java脚本中嵌入的jsp代码:

//This object comes from Java code to Jsp Code.    
var msgs = [{name=rajasekhar, langId=en, bShow=true}, {name=sekhar, langId=de,bShow=false},{name=valli, langId=en, bShow=false}];


<script type="text/javascript">
var langSectState = new Array();

 <c:forEach var="msg" items="${msgs}">
    <c:set var="langId" value="${msg['langId']}"/>

    langSectState ["${langId}"] = ${msg['bShow']};  //JS

 </c:forEach>
</script>
//此对象来自Java代码到Jsp代码。
var msgs=[{name=rajasekhar,langId=en,bShow=true},{name=sekhar,langId=de,bShow=false},{name=valli,langId=en,bShow=false}];
var langSectState=新数组();
langSectState[“${langId}”]=${msg['bShow']}//JS
MoreInfo:上面的代码从MSG中提取langId、bShow并将值存储在数组中

在我的服务器配置更改后,这将无法正常工作。因此,我必须将此代码更改为完整的Java脚本


有人能在Java脚本中推荐与此等效的代码吗?我不确定您是否真的需要覆盖此数组中的值(例如,您有两个带有langId=“en”的对象)。但是您的代码看起来像下面的代码

<script type="text/javascript">
var msgs = [{name:"rajasekhar", langId:"en", bShow:true}, {name:"sekhar", langId:"de",bShow:false},{name:"valli", langId:"en", bShow:false}];
var langSectState = new Array();

for(var it in msgs)
{
    var langId = msgs[it]['langId'];
    langSectState[langId] = msgs[it]['bShow'];
}

for(var it in langSectState)
{
    console.log(it+":"+langSectState[it]);
}

</script>

var msgs=[{name:“rajasekhar”,langId:“en”,bShow:true},{name:“sekhar”,langId:“de”,bShow:false},{name:“valli”,langId:“en”,bShow:false}];
var langSectState=新数组();
用于(msgs中的var it)
{
var langId=msgs[it]['langId'];
langSectState[langId]=msgs[it]['bShow'];
}
for(在langSectState中为其设置var)
{
log(it+:“+langSectState[it]);
}

请注意,添加console.log循环只是为了测试目的

为什么不使用JSON编码
var langSectState=${msgs_json}
其中
msgs_json
是json编码的地图数组。您好@Jan Dvorak,请解释一下。如何直接将“MSG”转换为该形式。如何将msgs编码为msgs_json?嗨,米卡利,谢谢你的代码,部分解决了我的问题。langId不会重复。这是我的错。但是,var msgs将有“=”符号,而不是“:”。因为它将在jsp中处理,所以我不能在Java代码中将结构更改为“:”。