【问题标题】:How can keep quotes on strings from string resources如何保留字符串资源中的字符串引号
【发布时间】:2011-09-07 03:18:33
【问题描述】:

这是对上一个问题 (Android: Json string with spaces gives "Unterminated object at" exception) 的跟进

当我从资源文件中获取字符串时,它会删除 " 除非它被转义 (\") 有没有办法解决这个问题?

例如:

Java:

String jString = getResources().getString(R.string.event);

json:

<resources>
    <string name="event">
        {"Array":[{"Name":"One two three"},{"Name":"Two"},{"Name":"Three"}]}
    </string>
</resources>

jString 的值为 {Array:[{Name:One 二三},{Name:Two},{Name:Three}]} 我希望它具有以下值 {"Array":[{"姓名":"一二三"},{"姓名":"二"},{"姓名":"三"}]}。

【问题讨论】:

  • 你自己回答了这个问题:“除非它被转义 (\") 有没有办法解决这个问题?”这有什么问题?
  • 问题是我从一个序列化对象的服务器获取字符串,我不想编写自己的序列化程序。我认为它从字符串中删除引号并希望它周围没有引号有点愚蠢。
  • 什么时候获取这个 JSON 对象?在(或之前)编译?目前这对我来说真的没有意义。
  • 我在编译之前获取它。

标签: java android xml


【解决方案1】:

您可以将 JSON 文档放在 res/raw/ 中,然后使用 openRawResource(int) 获取一个 InputStream,您可以从中读取 JSON。

但根据数据,我更愿意将其保存在 &lt;string-array&gt; 或类似的地方。

【讨论】:

猜你喜欢
  • 2015-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-09
相关资源
最近更新 更多