控制层解析post请求中json数据的时候,有些属性值为空

原因:
  1、默认json数据解析的时候,值会赋给键的首字母是小写的封装的bean中的属性,如果没有首字母小写的属性,也不会报错。
即bean中有getXXX方法时,从json到model会增加xxx属性,有setXXX方法是,从model到json会增加xxx的赋值(其中bean中xxx的首字母必须小写)

  2.在内部类中使用时,不加static变量会不能转换成功

  3.private或protected变量中,缺少get或者set方法会影响转换,而且这些方法中不能有其他的非自动生成的操作,否则这些无关操作也会执行,因为fastjson是通过调用set,get方法来序列化的,而不是根据json串实际的转换,比如:在反序列化时,如果你的get方法中有打log操作,那么会真的给你打一堆log的 (这也说明了fastjson快速的能力是哪里来的,通过调用set,get方法,而不是通过反射,这样可能带来数据的错误,写set,get方法的时候就要完全让自动生成,而不能做其他操作)

总结:
    1.所有需要序列化的字段都用public
    2.所有的public方法开头不允许是get或者set
    3.内部类一定要加上public static修饰
    4.遵循以上3条,fastjson即可保证极快速又不会发生错误
    5.如果想用默认的get、set方法,那么bean的属性首字母必须小写

原文地址:https://www.cnblogs.com/archimedes-euler/p/10251141.html

时间: 2024-10-10 06:57:56

控制层解析post请求中json数据的时候,有些属性值为空的相关文章

python中jsonpath模块,解析多层嵌套的json数据

1. jsonpath介绍用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java. 使用方法如: import jsonpathres=jsonpath.jsonpath(dic_name,'$..key_name')#嵌套n层也能取到所有key_name信息,其中:“$”表示最外层的{},“..”表示模糊匹配,当传入不存在的key_name时,程序会返回

android通过httpClient请求获取JSON数据并且解析

android通过httpClient请求获取JSON数据并且解析:http://www.cnblogs.com/gzggyy/archive/2013/05/08/3066288.html Android--使用Http向服务器发送请求并取得返回结果,下载图片:http://www.2cto.com/kf/201307/229489.html Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据):http://blog.csdn.net/he

swift http请求返回json数据并解析

1 AppDelegate.swift // // AppDelegate.swift // QQDemo // // Created by 赵超 on 14-6-21. // Copyright (c) 2014年 赵超. All rights reserved. // import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? fun

IOS中JSON数据的解析

IOS中JSON数据解析 官方为我们提供的解析JSON数据的类是NSJSONSerialization,首先我们先来看下这个类的几个方法: + (BOOL)isValidJSONObject:(id)obj; 判断一个数据对象是否可以转化为JSON数据 + (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error; 将JSON数据写为NSData数据,其中opt参数

XML 数据请求与JSON 数据请求

(1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLDictionary 进行数据转换 使用 XMLDictionary 的好处:有效避免自行实现 NSXMLParserDelegate 委托代理协议方法来进行繁琐的数据拼凑解析 (2)JSON 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 或 AFHTT

异步请求(删除json数据)

异步请求(删除json数据) 删除数据库信息, 同时页面对应的样式也随之删除 Demo: 删除雇员信息1.在控制层定义删除的方法 //删除数据 public void jsonRemove(HttpServletRequest req,HttpServletResponse resp) throws Exception { //获取要删除的雇员的编号 Integer empno = Integer.valueOf(req.getParameter("id")); //调用业务层的删除方

【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回

作者:ssslinppp      时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MVC与json参考文章:[spring学习笔记-mvc-3]返回json数据-方式1  和 [spring学习笔记-mvc-4]返回json数据-方式2. 使用到的技术主要如下: Ajax:使用JQuery 提供的ajax:==>需要引入jquery.min.js文件: Spring MVC: Jso

向post请求中写入数据,最终保存在了HttpWebRequest.Params中

一.向post请求中写入数据,最终保存在了HttpWebRequest.Params中: 1)如果存入的是IDictionary类型的字符串变量,如:“username=administrator”,则key=value: 2)如果写入的是string类型的变量,如"username",则key=null,value=username: protected void btnLogin_Click(object sender, EventArgs e) { string Url = &q

jquery中json数据转换为字典

首先在前台页面中的json数据为 var recipe = {}; recipe["name"] = $("#name").val(); recipe["age"] = $("#age").val(); recipe["sex"] = $("#sex").val(); recipe["medicine"] = "{'name': 'a', 'value':