如何将Scala Map[String,Map[String,String]]传递给Js Object

How to pass the Scala Map[String,Map[String,String]] to Js Object

本文关键字:String Map Js Object Scala      更新时间:2023-09-26

我想在Play框架视图中将Scala Map值传递给JavaScriptJSON-object

当我检查以下代码时,我得到"SyntaxError:JSON.parse:JSON数据的第1行第10列出现意外字符"

val mapTobePassToJs = Map(
      "cg1" -> Map(
        "path" -> "/var/logs/cdr1/cdr",
        "name"  -> "CG-1"
      ),
      "cg2" -> Map(
        "path" -> "/var/logs/cdr2/cdr",
        "name"  -> "CG-2"
      ),
      "cg3" -> Map(
        "path" -> "/var/logs/cdr3/cdr",
        "name"  -> "CG-3"
      ),
      "cg4" -> Map(
        "path" -> "/var/logs/cdr3/cdr",
        "name"  -> "CG-4"
      )
    )
<script type="text/javascript">
        var aChartList = jQuery.parseJSON("@JSONObject(mapTobePassToJs).toString()".replace(/&quot;/g,'"'));
</script>

任何人都请帮我

如果您想要Json,为什么不使用Json.obj()。下面就是你的结构。

val mapTobePassToJs = Json.obj(
      "cg1" -> Json.obj(
        "path" -> "/var/logs/cdr1/cdr",
        "name"  -> "CG-1"
      ),
      "cg2" -> Json.obj(
        "path" -> "/var/logs/cdr2/cdr",
        "name"  -> "CG-2"
      ),
      "cg3" -> Json.obj(
        "path" -> "/var/logs/cdr3/cdr",
        "name"  -> "CG-3"
      ),
      "cg4" -> Json.obj(
        "path" -> "/var/logs/cdr3/cdr",
        "name"  -> "CG-4"
      )
    )