vue如何处理json未传字段?

问题描述

json中包含大量字段,后台无法判断某个字段是否会包含在json内,前端一个一个去声明也不现实,引用不存在字段页面会报错,像这种情况如何去解决?

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 3k
3 个回答

推荐使用ts或者flow。

如果不方便的话,项目小可以使用自己检测的方式。

比如 a.b || ''.

如果你的项目比较复杂可以使用jsonschema

  var Validator = require('jsonschema').Validator;
  var v = new Validator();
 
  // Address, to be embedded on Person
  var addressSchema = {
    "id": "/SimpleAddress",
    "type": "object",
    "properties": {
      "lines": {
        "type": "array",
        "items": {"type": "string"}
      },
      "zip": {"type": "string"},
      "city": {"type": "string"},
      "country": {"type": "string"}
    },
    "required": ["country"]
  };

如果觉得两种比较麻烦, 可以使用一些插件帮你做这些操作。

比如你的代码这样写:

obj.a.b.c

帮你转义成这样:

obj&& obj.a && obj.a.b && obj.a.b.c

所有的字段在取值的时候都做容错处理啊

var a = obj.b || ''

除去后端,不过前端有时候还是有处理那些字段的默认值的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题