【发布时间】:2011-11-26 13:50:16
【问题描述】:
我得到的错误信息是:
org.json.JSONException: Unterminated object at character 14 of {address: yo test}
我认为我应该转义字符串,但在尝试了 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}
}
}
还有……
// res/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="data">{"address": "yo test"}</string>
</resources>
如果“地址”是“test”、“yo”或“123”之类的其他内容,则一切正常。 再次感谢!!
【问题讨论】:
-
看起来你只有一个未转义的字符串。当你试图逃避它时发生了什么/你是如何试图逃避它的?
-
我试过“java.net.URLEncoder.encode(queryStr, "UTF-8");", "TextUtils.htmlEncode(queryStr);", 和 ,但得到了相同的结果。事实上,我不确定我应该怎么做才能转义字符串。