Ais*_*rya 13 java android json
我试图使用JSON将参数传递给api.
class Sample
{ ...
String token;
...
void method()
{ ...
JSONObject params = new JSONObject();
params.put(KEY_TOKEN,token);
params.put(KEY_DATE,date);
Log.e("params ",params+"");
... }
Run Code Online (Sandbox Code Playgroud)
我得到了params的值,{"date":"2017-06-19"}但令牌无处可见.我没有初始化令牌,它的值为null,因为它是一个实例变量.那么未包含未初始化的价值是什么?
T.J*_*der 38
就在文档的第一段中:
值可能不是
null,NaNs,无穷大,或此处未列出的任何类型.
所以是的,它是"... null值不包含的东西......" (编辑:这是您原始问题的引用;您更新的问题将其更改为"未初始化的值",但对象引用的默认值为null所以...)
不过,这是该课程的"特色"; JSON本身理解null得很好.在文档中进一步说明你使用"sentinal value" NULL来表示null.这似乎......很奇怪.有一个关于它的说明:
警告:此类
null以两种不兼容的方式表示:标准Javanull引用和sentinel值NULL.特别是,调用put(name, null)从对象中删除命名条目,但put(name, JSONObject.NULL)存储值为的条目JSONObject.NULL.
所以:
params.put(KEY_TOKEN, token == null ? JSONObject.NULL : token);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27044 次 |
| 最近记录: |