Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么JSON发送的数据不能正确显示在表中?_Java_Javascript_Jquery_Struts2_Handsontable - Fatal编程技术网

Java 为什么JSON发送的数据不能正确显示在表中?

Java 为什么JSON发送的数据不能正确显示在表中?,java,javascript,jquery,struts2,handsontable,Java,Javascript,Jquery,Struts2,Handsontable,我在表中正确显示JSON时遇到问题。我正在使用handsontable在网站上构建网格。我认为,我所需要做的就是将正确的JSON格式的数据发送到handsontable 我使用struts2 json插件将Java对象序列化为json格式,下面的json由插件自动生成 不幸的是,在将JSON发送到handsontable之后,表中只有像[object object]这样的值出现在表的第一个单元格中,而不是应该出现在整行(不同列)中的实际值,而不仅仅出现在第一个单元格中 表格列和值错误的屏幕截图

我在表中正确显示JSON时遇到问题。我正在使用handsontable在网站上构建网格。我认为,我所需要做的就是将正确的JSON格式的数据发送到handsontable

我使用struts2 json插件将Java对象序列化为json格式,下面的json由插件自动生成

不幸的是,在将JSON发送到handsontable之后,表中只有像
[object object]
这样的值出现在表的第一个单元格中,而不是应该出现在整行(不同列)中的实际值,而不仅仅出现在第一个单元格中

  • 表格列和值错误的屏幕截图:

  • 包含预期表列和值的屏幕截图:

我正在从后端发送JSON,如下所示:

{
  "values": [
    {
      "fieldDTO": [
        {
          "value": "Elda"
        },
        {
          "value": "HCPP"
        },
        {
          "value": "Yes"
        },
        {
          "value": "Green"
        }
      ]
    }
  ],
  "headers": [
    "Name",
    "Qualification",
    "Certification",
    "Classification"
  ],
  "rows": [
    "Albania"
  ]
};
如下所示显示表格:

{
  "values": [
    {
      "fieldDTO": [
        {
          "value": "Elda"
        },
        {
          "value": "HCPP"
        },
        {
          "value": "Yes"
        },
        {
          "value": "Green"
        }
      ]
    }
  ],
  "headers": [
    "Name",
    "Qualification",
    "Certification",
    "Classification"
  ],
  "rows": [
    "Albania"
  ]
};

$(“#电子表格”).handsontable({
startRows:4,
startCols:20,
行标题:data.rows,
colHeaders:data.headers,
数据:data.values,
上下文菜单:正确,
宽度:1000,
是的,
这是真的,
列排序:正确
});
小提琴: 你可以用小提琴检查


为什么失败?我的JSON格式是否不正确,无法在每列中显示数据?我需要在一行中显示集合FieldDTO的列表,所以JSON的格式如上所述。如何使此代码(在表中显示数据)正常工作?

您需要在调用的
切换表中指定
属性,以便深入了解您的(稍微奇怪,请参见下文)数据结构:


我之所以说“奇怪”,是因为在对象中而不是数组中有适当命名的列会更好。基于位置的结构是脆弱的。

好吧,正如你所说的,我不能用这种方式。我这样开始实现是因为我需要在每个表行中显示:对象列表,但不是每行只显示一个对象。因此,在我的情况下,我有一个对象列表,其中一个属性
要显示,而不是一个具有多个属性的对象,这些属性可以映射到列。这就是为什么我需要寻找一些正确的方法。。你有什么想法吗?@Roman通过参考我链接的文档,你几乎可以做任何类型的列映射。返回的数据需要是基于行的,但使用嵌套对象并对其进行索引似乎很简单。