【问题标题】:Convert nested object to JSON Jquery将嵌套对象转换为 JSON Jquery
【发布时间】:2019-07-04 02:09:51
【问题描述】:

我有如下嵌套的字典:

我想将此对象转换为 JSON,用于发送到控制器。我试图将其转换为数组,但对我没有任何作用。

array = Object.keys(dicCoachList).map(function (k) {
    return dicCoachList[k];
});

我使用 ajax 发送给控制器。

$.ajax({
        url: '/Dispatch/SavePatientCoaching/',
        data: { careProfessional : array },
        type: "POST",
        success: function (data) {

        },

在这样的控制器中。

[HttpPost]
public ActionResult SavePatientCoaching(string[] careProfessional)
{
}

如果我将我的对象转换为 json 它只会返回 "{"1":[],"2":[]}" 所以我使用了数组。请帮我将此数据发送给控制器。

【问题讨论】:

  • 要将对象转换为 JSON,请使用 JSON.stringify?
  • 我已经尝试过var careProfessional = JSON.stringify(dicCoachList);,它返回"{"1":[],"2":[]}"
  • 您的操作需要一个字符串数组(例如['foo', 'bar']),但您正在发送一个键/值对字典。其中之一需要更改为正确的格式。另请注意,一旦您修复了从$.ajax 发送时不需要将值包装在对象中;只需 data: array 即可。

标签: jquery json asp.net-mvc model-view-controller


【解决方案1】:

您的字典 dicCoachList 对于转换为 JSON 无效,您必须为(CouchId 等)使用对象而不是数组。

正确输出格式示例:

let dicCoachList = {
    data:[
      {CouchId:"test1", CareTeamId:"test1"},
      {CouchId:"test2", CareTeamId:"test2"},
      {CouchId:"test3", CareTeamId:"test3"}
    ]
};
      
console.log( JSON.stringify(dicCoachList));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2019-03-28
    相关资源
    最近更新 更多