Android填坑系列:Android JSONObject 中对key-value为null的特殊处理
2016-05-13 20:56
579 查看
在与服务端通过JSON格式进行交互过程中,不同版本的JSON库在对于key-value为null情况上的处理不同。
Android自带的org.json对key-value都要求不能为null,对于必传的字段需要留意一下,尤其是留意value是否可能出现null的情形。否则导致服务端解析出现问题。
此坑已被踩中,留下小记。下面直接看一下相应位置源码:
Android自带的org.json对key-value都要求不能为null,对于必传的字段需要留意一下,尤其是留意value是否可能出现null的情形。否则导致服务端解析出现问题。
此坑已被踩中,留下小记。下面直接看一下相应位置源码:
public class JSONObject { ...... /** * Maps {@code name} to {@code value}, clobbering any existing name/value * mapping with the same name. If the value is {@code null}, any existing * mapping for {@code name} is removed. * * @param value a {@link JSONObject}, {@link JSONArray}, String, Boolean, * Integer, Long, Double, {@link #NULL}, or {@code null}. May not be * {@link Double#isNaN() NaNs} or {@link Double#isInfinite() * infinities}. * @return this object. */ public JSONObject put(String name, Object value) throws JSONException { if (value == null) { nameValuePairs.remove(name); return this; } if (value instanceof Number) { // deviate from the original by checking all Numbers, not just floats & doubles JSON.checkDouble(((Number) value).doubleValue()); } nameValuePairs.put(checkName(name), value); return this; } String checkName(String name) throws JSONException { if (name == null) { throw new JSONException("Names must be non-null"); } return name; } ...... }
相关文章推荐
- Error in library.dynam(lib, package, package.lib) : shared object ‘plyr.so’ not found
- 关于Volley中JsonObjectRequest使用Post设置参数的问题
- 【IOS学习】关于EnumerateObjectsUsingBlock和for-in之间的较量
- Performing Authoritative Restore of Active Directory Objects
- objective-c中的消息转发
- Objective-C总Runtime的那点事儿 消息机制
- 论文提要“Training Region-based Object Detectors with Online Hard Example Mining”
- 解决:[Ljava.lang.Object; cannot be cast to com.sinone.domain.StorageCount
- Java代码实现Map和Object互转及Map和Json互转
- List<Map<String,Object>>排序
- SOAP-Simple Object Access Protocol(简单对象访问协议)
- setValue和setObject的区别
- org.hibernate.ObjectDeletedException: deleted instance passed to merge: [xxx#<null>]
- selectIve search for object recognize
- HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection
- ActiveXObject 对象
- Objective-C编码规范:26个方面解决iOS开发问题
- Objective-C基础笔记三
- Objective-C基础笔记二
- Objective-C中NSObject.h详解