为了账号安全,请及时绑定邮箱和手机立即绑定

你如何以html形式表示一个json数组

你如何以html形式表示一个json数组

C#
万千封印 2022-07-23 18:05:34
注意:我也在使用AspNetBoilerplate的模板和Mecons标签助手,所以bc-属性和form-group标签是有效的。我正在尝试将模型发布到我的一个应用程序服务。但我收到以下错误“在验证期间检测到以下错误。↵ - 无法将当前 JSON 对象(例如 {"name":"value"})反序列化为类型 'System.Collections.Generic.IList`1[App.Stores.StoreWalk.Dtos。 CreateOrEditStoreWalkCategoryDto]' 因为该类型需要 JSON 数组(例如 [1,2,3])才能正确反序列化。↵要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化类型,使其成为可以从 JSON 对象反序列化的普通 .NET 类型(例如,不是整数之类的原始类型,不是数组或列表之类的集合类型)。也可以将 JsonObjectAttribute 添加到该类型以强制它从 JSON 对象反序列化。↵Path 'categories.0', line 1, position 84. ↵"message: "Your request is not valid!"validationErrors:[{…}]原型:对象我理解错误的含义,我只是不知道如何修复我的代码。在 2 条建议中,To fix this error either change the JSON to a JSON array (e.g. [1,2,3])这将是我必须采取的路径。可能无关紧要,但我正在玩我的代码,并注意到当我从我的属性中删除@i和删除时,我能够成功发布,但我的单选按钮失去了所有功能(由于命名冲突,单击第二行更改第一行),另外,我会认为需要索引来保持它们的唯一性(我还在学习,如果我错了,请纠正我)。@jname我发回的 json 字符串是通过调用创建的$('form[name=StoreWalkForm]').serializeFormToObject(),如下所示并利用https://github.com/marioizquierdo/jquery.serializeJSON$.fn.serializeFormToObject = function() {    var $form = $(this);    var fields = $form.find('[disabled]');    fields.prop('disabled', false);    var json = $form.serializeJSON();    fields.prop('disabled', true);    return json;};JSON{  "version": "2",  "department": {    "id": "8",    "name": "ISF"  },  "store": "001",  "categories": {    "0": {      "category": {        "id": "4"      },      "questions": {        "0": {          "question": {            "question": "SIGNAGE",            "id": "233"          },          "answer": {            "boolValue": "false",            "comments": "1"          }        },        "1": {          "question": {            "question": "PARKING LOT BLACKTOP",            "id": "234"          },          "answer": {            "boolValue": "true",            "comments": "2"          }        }      }    }  },  "comments": "123",  "signature": ""}
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

传入. {useIntKeysAsArrayIndex: true}_$form.serializeJSON()


$.fn.serializeFormToObject = function() {

    var $form = $(this);

    var fields = $form.find('[disabled]');

    fields.prop('disabled', false);


 // var json = $form.serializeJSON();

    var json = $form.serializeJSON({useIntKeysAsArrayIndex: true});


    fields.prop('disabled', true);

    return json;

};

来自问题中链接的https://github.com/marioizquierdo/jquery.serializeJSON:


🔗使用整数键作为数组索引

<form>

  <input type="text" name="arr[0]" value="foo"/>

  <input type="text" name="arr[1]" value="var"/>

  <input type="text" name="arr[5]" value="inn"/>

</form>

$('form').serializeJSON();


// arr is an object =>

{'arr': {'0': 'foo', '1': 'var', '5': 'inn' }}

$('form').serializeJSON({useIntKeysAsArrayIndex: true});


// arr is an array =>

{'arr': ['foo', 'var', undefined, undefined, undefined, 'inn']}


查看完整回答
反对 回复 2022-07-23
  • 1 回答
  • 0 关注
  • 253 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号