我得到的错误信息是:
org.json.JSONException: Unterminated object at character 14 of {address: yo test}
Run Code Online (Sandbox Code Playgroud)
我认为我应该逃避字符串,但在尝试StackOverflow上的所有方法后徒劳无功.
这是我的代码,非常感谢任何帮助:
// src/Activity.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try{
String str = getString(R.string.data);
JSONObject jsonObj = new JSONObject(str);
}
catch(Exception e){
Log.d("iLoveDrinkActivity", e.toString());
// org.json.JSONException: Unterminated object at character 14 of {address: yo test}
}
}
Run Code Online (Sandbox Code Playgroud)
和...
// res/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="data">{"address": "yo test"}</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
如果"地址"是"test"或"yo"或"123"之类的东西,那么一切正常.再次感谢!!
I82*_*uch 14
我能找到的唯一解决方案(Android:带有空格的Json字符串给出"Unterminated object at"异常)是用转义引号替换json中的引号
<string name="data">{"address": \"yo test\"}</string>
Run Code Online (Sandbox Code Playgroud)
虽然烦人.不知道有没有更好的解决方案.
编辑:
经过多一点挖掘,看起来罪魁祸首就是getString
声称的方法
返回与特定资源ID关联的字符串值.它将被删除任何样式的文本信息.
样式文本的剥离发生在本机代码中,所以我不明白为什么它抛出引号,但看起来像它.
归档时间: |
|
查看次数: |
38978 次 |
最近记录: |