关于json字符串与实体之间的严格验证代码
在一个项目中要求严格验证传入的json字符串与定义的 类匹配,否则不记录。感觉这个严格验证找了好多资料才找到,可能用的人比较少,特摘出来给大家分析,直接上代码了:
using Newtonsoft.Json;
首先引用 Newtonsoft.Json.Schema
主函数调用
private static void Main(string[] args) { string Json = @"{ 'Email':'58', 'Active':true, 'CreateDate':'2015-12-11 9:24:33' }"; try { /*这里是通过指定的实体创建一个规则来验证传入的json是否符合要求*/ JSchemaGenerator generator = new JSchemaGenerator(); JSchema schema = generator.Generate(typeof(Account)); JObject person = JObject.Parse(Json); IList<string> messages; bool valid = person.IsValid(schema, out messages); if (!valid) { foreach (string message in messages) { Console.WriteLine(message); } } else { Console.WriteLine("OK"); } } catch (JsonSerializationException ex) { Console.WriteLine(ex.Message); } /* 这段代码的也是设置捕获异常的,只是大范围的验证,如果匹配不上则给予默认值。上面的是严格判断 JsonConvert.DeserializeObject<Account>(Json, new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error, Error = eventHandler }); */ Console.Read(); } public static void eventHandler(object sender, ErrorEventArgs args) { var currentError = args.ErrorContext.Error.Message; Console.WriteLine(currentError); args.ErrorContext.Handled = true; }
实体类
using System; public class Account { public string Email { get; set; } public bool Active { get; set; } public DateTime CreateDate { get; set; } }
以上所述是小编给大家介绍的关于json字符串与实体之间的严格验证,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Java Web程序实现返回JSON字符串的方法总结
基础铺垫 在java中,关于json的lib有很多,比如jackjson.fastjson.gson等等,本人都用过,但是对于我等只需要让java对象返回json字符串即可的程序员来说,还是显得过于繁重.而且有些功能定制性很差,比如一个java对象的属性为空时,这些组件都不会输出,于是本人在页面循环遍历列表对象时,总是得判断此属性是否为undefined,这一点让本人很不满意.所以决定花点时间研究下到底是怎么回事. 但经过一上午的细看,发现不管是fastjson还是gson都代码都写得相当的复杂
-
JSON的String字符串与Java的List列表对象的相互转换
在前端: 1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示: var jsonStr = JSON.stringify(list); var param= {}; param.jsonStr=jsonStr; 在后台: 1.把String转换为List(str转换为list) List<T> list = new ArrayList<T>(); JSONAr
-
JSON字符串转换JSONObject和JSONArray的方法
一.下载json 具体到http://www.json.org/上找Java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}"; String value1 = null; t
-
Python处理json字符串转化为字典的简单实现
今天一个朋友给个需求: 来来 {'isOK': 1, 'isRunning': None, 'isError': None} 怎么转换成字典 好,一看就是json转化很简单,开始: import json a = "{'isOK': 1, 'isRunning': None, 'isError': None}" print json.loads(a) 死活出不来结果,还报错,查了两个小时的百度,没搞明白. 最后,直接复制网上的代码,OK,运行成功,可是把我的a变量填进去,不行,报错:开
-
JSON字符串传到后台PHP处理问题的解决方法
在项目开发的时候由于涉及到批量记录数组的传入,由于字段多,所以不可能能用普通的方式&a=322&=gsd&v=rwe 这样去传送,所以想到了前端传JSON格式过去content=[{'a':2321,'b':'gsd','c':'dww'},{'a':'4sd','b':'gsd2','c':'dww3'},.....] , 这样的话多条记录后台解析也很方便,但我这么传的时候后台收到的是 [{\'a\':2321,\'b\':\'gsd\',\'c\':\'dww\'}...] 这
-
关于json字符串与实体之间的严格验证代码
在一个项目中要求严格验证传入的json字符串与定义的 类匹配,否则不记录.感觉这个严格验证找了好多资料才找到,可能用的人比较少,特摘出来给大家分析,直接上代码了: using Newtonsoft.Json; 首先引用 Newtonsoft.Json.Schema 主函数调用 private static void Main(string[] args) { string Json = @"{ 'Email':'58', 'Active':true, 'CreateDate':'2015-12-
-
ASP.NET JSON字符串与实体类的互转换示例代码
还是先封装一个类吧! 这个类网上都可以找到的!有个这个类,一切都将变得简单了,哈哈. 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Runtime.Serialization.Json;using System.ServiceModel.Web;///记得引用这个命名空间using System.IO;using System.Tex
-
ASP.NET自带对象JSON字符串与实体类的转换
关于JSON的更多介绍,请各位自行google了解!如果要我写的话,我也是去Google后copy!嘿嘿,一直以来很想学习json,大量的找资料和写demo,总算有点了解! 切入正题! 还是先封装一个类吧! 这个类网上都可以找到的!有个这个类,一切都将变得简单了,哈哈. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Runtime.Serializ
-
jackson 如何将实体转json json字符串转实体
目录 将实体转json json字符串转实体 实体转json json转实体 使用Jackson操作json数据,各场景实例 1. 对象(示例为 UserEntity)转 json 数据 2. json 数据 转 对象 3. map 转 json 数据 4. json 数据 转 map 5. List<UserEntity> 转 json 数据 6. json 数据 转 List<UserEntity> 7.接口接收稍微复杂一点的json数据,如何拆解 将实体转json json字
-
JSON字符串和对象之间的转换详解
JSON(JavaScript Object Notation) 是JavaScript编程语言的一个子集.正因JSON是JavaScript的一个子集,所以它可清晰的运用于此语言中. eval函数 JSON文本转换为对象 为了将JSON文本转换为对象,可以使用eval函数.eval函数调用JavaScript编辑器.由于JSON是JavaScript的子集,因此编译器将正确的解析文本并产生对象结构.文本必须括在括号中避免产生JavaScript的语法歧义. var obj = eval('('
-
FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换操作
fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fastJson提供的json对象. JSONArray:fastJson提供json数组对象. 我们可以把JSONObject当成一个Map<String,Object>来看,只是JSONObject提供了更为丰富便捷的方法,方便我们对于对象属性的操作.我们看一下源码. 同样我们可以把JSONArra
-
对象转Json字符串时如何忽略指定属性
目录 FastJson转Json字符串时,忽略指定属性 JackSon忽略字段 Jackson Json与对象转换的几个配置笔记 FastJson转Json字符串时,忽略指定属性 使用注解@JSONField 以下Bean package com.gomefinance.esign; import com.alibaba.fastjson.annotation.JSONField; import lombok.Getter; import lombok.Setter; import java.i
-
js实现字符串和数组之间相互转换操作
本文实例介绍了javascript中字符串和数组的相互转换方法,分享给大家供大家参考,具体内容如下 字符串和数组的相互转换操作是非常的重要的,因为在实际编码过程中会经常用到,所以这是必须要掌握的知识点,当然这个知识点并不难,知道了就永远知道了,并不是那种需要充分实践才能够掌握的东西,下面就做一下简单的介绍. 一.字符串转换为数组 此操作会用到split()函数,它能够以指定的字符作为分隔符,将字符串转换成一个数组,实例代码如下: var Str="abc-mng-zhang-mayi"
-
Java 手动解析不带引号的JSON字符串的操作
1 需求说明 项目中遇到了一批不带引号的类JSON格式的字符串: {Name:Heal,Age:20,Tag:[Coding,Reading]} 需要将其解析成JSON对象, 然后插入到Elasticsearch中, 当作Object类型的对象存储起来. 在对比了阿里的FastJson.Google的Gson, 没找到想要的功能 ( 可能是博主不够仔细, 有了解的童学留言告诉我下呀
-
json字符串之间的相互转换示例代码
通过eval()函数可以将JSON字符串转化为对象,stringifier 函数的作用跟parse相反,用来将一个js对象转换为 JSON 文本 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getSc
随机推荐
- 自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
- PHP之uniqid()函数用法
- 利用H5特性FormData实现不刷新文件上传
- asp.net类序列化生成xml文件实例详解
- 真见识了-全代码编写的图片
- ASP.NET将文件写到另一服务器(图文教程)及注意事项
- 用 Composer构建自己的 PHP 框架之设计 MVC
- 利用PyInstaller将python程序.py转为.exe的方法详解
- PHP数据库操作四:mongodb用法分析
- android AsynTask处理返回数据和AsynTask使用get,post请求
- PHP,ASP.JAVA,JAVA代码格式化工具整理
- js 关于=+与+=日期函数使用说明(赋值运算符)
- Shell脚本中的位置变量参数(特殊字符)实例讲解
- jquery ajax请求实例深入解析
- 使用HTTP api简单的远程执行PowerShell脚本
- javascript设计模式之中介者模式Mediator
- Spring MVC---数据绑定和表单标签详解
- PHP中使用imagick生成PSD文件缩略图教程
- JS获取数组中出现次数最多及第二多元素的方法
- C语言自增(++)和自减(--)实例详解