- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这是我的字符串
String currentTokenNo = "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"
我已将此字符串添加到我的 JsonObject
中,它是 com.google.gson.JsonObject 的一个类包
JsonObject jsonToSubmit = new JsonObject();
try {
jsonToSubmit.addProperty("token", currentTokenNo);
} catch (Exception e) {
e.printStackTrace();
}
但是当我记录我的 String
和 JsonObject
Log.d("mainactivityjson", "Current Token No : "+currentTokenNo );
Log.d("mainactivityjson", "jsonToSubmit : "+jsonToSubmit);
我找到了结果
D/mainactivityjson: Current Token No : "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"
D/mainactivityjson: jsonToSubmit : {"token":"\"/SUeSjUf0A0aLFr+wVIZbw==\\nLmmWtgHZ90yH0NBoATYB/A\""}
现在,我的问题是:
JsonObject
的值为什么要加上引号和斜杠?有什么合适的理由吗?
这确实妨碍了在服务器端检查字符串值的过程。
我已经完成了一个临时解决方案,通过从两侧修剪单个字符来完成任务,如下所示
jsonToSubmit.addProperty("token",currentTokenNo.substring(1,currentTokenNo.length()-1));
这非常有效,但我不认为这对 future 来说是个更好的主意!!!
附加信息:
变量 currentTokenNo
没有如上所示直接声明,它是从 SharedPreferences
中检索的,如果直接声明则一切正常。
String currentTokenNo = preferences.getString(LOGINCRED_TOKEN,"");
如果直接声明同一个变量,一切正常。
我们将不胜感激。
最佳答案
根据您的评论和 logcat 信息,实际值来自 SharedPreferences
是"/SUeSjUf0A0aLFr+wVIZbw==y9iWl1SSrUe9zRQppENMNA"
(带引号),不是 /SUeSjUf0A0aLFr+wVIZbw==y9iWl1SSrUe9zRQppENMNA
.这就是为什么你得到 jsonToSubmit : {"token":"\"/SUeSjUf0A0aLFr+wVIZbw==y9iWl1SSrUe9zRQppENMNA\""}
更新:
For your temporary solution:
jsonToSubmit.addProperty("token",currentTokenNo.substring(1,currentTokenNo.length()-1));
我更喜欢以下方式:
jsonToSubmit.addProperty("token", currentTokenNo.replaceAll("\"",""));
如果您还想删除斜杠,请使用:
jsonToSubmit.addProperty("token", currentTokenNo.replaceAll("\"","").replaceAll("/",""));
希望对您有所帮助!
关于android - jsonObject.addProperty 方法正在为其值添加不必要的引号和斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34576024/
我正在使用Apache Jena和 RDF 来存储电子邮件。我正在尝试创建一个以消息 id 作为 URI 的 RDF 模型,并且我正在使用 addProperty()功能。 Resource addP
我正在创建一个带有关联客户端 API 的 ASP.NET 服务器控件。 在我的 GetScriptDescriptors() 方法中,我关联了一个名为“行”的属性... descriptor.AddP
这是我的字符串 String currentTokenNo = "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A" 我已将此字符串添加到我的 Json
我正在与 JsonElements 合作及其 addProperty 方法。 JsonElement 有 4 个重载的 addProperty 方法,我想将它们压缩为一个,以便更轻松地添加属性。这就是
我有一些非常简单的源代码来公开一个简单的 Foo 类。 主要.cpp: #include #include #include class Foo { private: i
我正在使用 Apache Commons 配置。如何将一个属性(带空格的字符串)添加到我只获得一个属性的配置中? config.addProperty("date", "08.05.2011, 15:
当我使用 String[] a 在 SoapSerializationEnvelope 中添加属性时,返回错误 SoapObject request = new SoapObject(NAMESPA
我们使用泰坦 0.5.4。我们使用 Frames 框架进行 OGM,我们对其进行了定制以支持继承。我们有一个Titan index设置包含“类型鉴别器”的属性(请参阅 Hibernate): Prop
我在 ant 脚本中有简单的用户输入元素(从 Maven antrun 插件运行): 这在 Windows 上运行良好:进程停止,直到在命令行中输入 y 或 n。但是当它在 linux prod 框
我已经读过 this和 this和其他人,但没有人解决我的问题。 我已经删除了所有可能的内容并将范围缩小到一个字段:地址。当我尝试关注 this tutorial 时,如果我遵循它,一切都会正常,从一
我是一名优秀的程序员,十分优秀!