gpt4 book ai didi

java - 组织.json.JSONException : Unterminated object at character 14

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:28 31 4
gpt4 key购买 nike

我得到的错误信息是:

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”之类的其他内容,则一切正常。再次感谢!!

最佳答案

我能找到的唯一解决方案(Android: Json string with spaces gives "Unterminated object at" exception)是用转义引号替换 json 中的引号

<string name="data">{"address": \"yo test\"}</string>

虽然很烦人。想知道是否有更好的解决方案。

编辑:

经过更多的挖掘,罪魁祸首似乎是 getString 方法,该方法声称

Return the string value associated with a particular resource ID. It will be stripped of any styled text information.

样式文本的剥离发生在 native 代码中,所以我不明白为什么它会抛出引号,但看起来确实如此。

关于java - 组织.json.JSONException : Unterminated object at character 14,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8278831/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com