【问题标题】:How to read a List of HashMap of java in Javascript如何在Javascript中读取java的HashMap列表
【发布时间】:2017-07-11 10:25:17
【问题描述】:

我正在尝试读取从 java 发送到 javascript 的 HashMap 列表,在 javascript 中将其作为字符串,我无法进一步打破它,因为这会使逻辑过于复杂。

List<HashMap<String,String>> tailDetails = new ArrayList<HashMap<String,String>>();  
    while(tailoredDetails.next())
     {
        HashMap<String,String> each = new HashMap<String,String>();
        each.put(tailoredDetails.getString("RECORD"),
        tailoredDetails.getString("BILLABLE"));
        tailDetails.add(each);
     }
TailoredObjRepVO.setTailoredRecords(tailDetails);
arlTailoredTransRecords.add(TailoredObjRepVO);

这是我想在 Javascript 中读取并显示为表格的数据

我在 javascript 中这样阅读

var message = document.all.item("tailoredAdjustmentItemsList["+length+"]["+breadth+"].tailoredRecords").value;

当我从应用程序中检查源代码时是这样的

<input type="hidden" name="tailoredAdjustmentItemsList[0][0].tailoredRecords" value="[{TUT7R                     BOMKMG1   =Y}, {TUT7R                     BOMWUH1   =Y}, {TUT7R                     DACKMG1   =Y}, {TUT7R                     DACNGB1   =Y}, {TUT7R                     DELKMG1   =Y}, {TUT7R                     KMGBOM1   =Y}, {TUT7R                     KMGDAC1   =Y}, {TUT7R                     KMGDEL1   =Y}, {TUT7R                     KMGMAA1   =Y}, {TUT7R                     MAAKMG1   =Y}, {TUT7R                     MAAWUH1   =Y}, {TUT7R                     WUHBOM1   =Y}, {TUT7R                     WUHMAA1   =Y}]">

我尝试了 JSONObject,但这里的问题是 JSON Jar 在我们的项目中不存在,如果我现在继续添加,我们必须测试完整的应用程序以进行我们尚未准备好进行的此更改。

我需要一种机制来读取 HashMap 数据列表并填充到 HTML 表中。

提前致谢

【问题讨论】:

  • 这还不清楚。听起来您的问题实际上是“如何从 Java 生成 JSON?”。
  • 发生的情况是您很可能没有以正确的格式发送值。我们不知道它们是否真的如此,但您的&lt;input&gt; 中的value 看起来像Java 列表中的库存toString(),这并没有真正的帮助。

标签: javascript java json


【解决方案1】:

只需自己从 Java 编写 JSON。如果您不想这样做,则不需要额外的依赖项,只需编写像 { "key":"value","key2":"value2" } 等这样的 hashmap。例如,您可以在 JSON.org 中看到更详细的 JSON 示例。

这样做的一种选择是定义一个 JSONMap 类,该类具有一个 HashMap 类型的最终变量,并在您的类的 toString() 上从该哈希图创建 JSON 输出。

此外,您可以只将 JSON 输出到像 var yourVariable = { "key":"value","key2":"value2" }; 这样的 javascript 变量,无需隐藏输入,除非您需要将数据作为表单提交的一部分提交。

关于将 json 数据转换为 HTML 表格,请参阅this discussion

【讨论】:

  • 我在java中使用了objectmapper并将我的列表转换为字符串,它将具有json格式,但这里的问题是当我们在javascript中执行json.parse时,我们支持IE 5浏览器它给出错误' 'json' 未定义'
  • @Manu IE5?说真的,从 1999 年开始?你知道 IE 11 是 IE 的当前版本,甚至已经被 Edge 取代了吗?但是好的,对于IE8之前的IE,你需要JSON.js
  • 呵呵呵呵没办法,这是我们的要求,我们的客户仍然使用IE 5
  • @Manu 请注意,尽管 JSON.parse 用于从包含 JSON 的字符串变量解析 JSON(javascript 对象表示法)。由于您可以直接编写为 javascript 对象表示法,因此您不需要使用 JSON.parse:您只需编写已解析的对象即可。
猜你喜欢
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-19
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
  • 2015-04-10
相关资源
最近更新 更多