繁体   English   中英

以对象作为成员发布json请求对象

[英]Post json request object with object as a member

我有一个问题。

我的前端是javascript,后端是Java(框架春季)

我尝试将json请求发布到Java控制器,但出现错误:

“ bean类[...]的无效属性'toto [tata]':在索引属性路径'toto [tata]'中引用的属性既不是数组,也不是列表,也不是映射;”

我要包装的课:

Class Test {
   Toto toto;
   String var1;
}

Class Toto {
   String tata;
}

@RequestMapping(..., method = RequestMethod.POST)
@ResponseBody
public jsonresponse testFunction(Test testrequest) { ... }

JavaScript方面:

ajax: {
      "url": [url],
      "type": "POST",
      data: function (data) { 
          var newData = Object();
          newData['var1'] = "it runs"
          newData.toto[tata] = "it doesn't work"
          return newData;
      },
      "dataSrc": function (returnedDataFromBackend) {
               ...
      }
}

有人可以帮助我吗? :-)

谢谢

更换

newData.toto[tata] = "it doesn't work"

成为:

newData = {
    "var1": "it runs",
    "toto": {
        "tata": "it doesn't work" // this string can be any value (data.variable1)
    }
};

或者,您可以先将属性newData.toto初始化为{}然后向其中添加属性tata

newData.toto = {};
newData.toto.tata = "it doesn't work"; // or any value you want (data.variable1)

创建var newData = Object(); 现在newData是普通的空对象{} 然后,您尝试添加属性tata到不存在的财产toto newData对象内(因为它是空的)。 因此,您需要在空对象newData内创建一个属性(对象) toto ,以便向其添加属性(字符串) tata

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM