我想询问是否有某种方法可以通过某个独特的分隔符来分割从服务器获取的数据。
以下是一个例子:
我使用AsyncTask将数据发送到服务器,然后使用echo命令将这些数据发送回我的应用程序,并在onPostExecute中将这些数据拆分为所需的结果。
所以,让我们说,我想从服务器数据中获取名称和姓氏,因此服务器上的echo命令将如下所示:{{ 1}}
然后在onPostExecute中我会将这些数据拆分为"&" 分隔符,但是当用户写入名称或姓氏时,会出现问题&#34 ;&" 我用于拆分。
如何避免此问题?
答案 0 :(得分:1)
您需要转义正在使用的字符,以分隔您正在传输的内容中的不同条目[1]。例如:
My\&FirstName&MySecondName
(在这种情况下\用作转义字符)
但是,你不需要重新发明所有这些东西。您可以使用多种格式传输数据:
答案 1 :(得分:1)
了解如何使用JSON。它可以节省发送数据的生命。 Android使用JSONObject支持本机JSON。
它实质上为放置在对象中的信息提供了格式化程序和解析器,然后可以通过关键字访问它们。
写一个json:
class Comment < ActiveRecord::Base
belongs_to :commentable, polymorphic: true
belongs_to :author, class_name: 'User'
end
class User < ActiveRecord::Base
has_many :comments, as: :commentable
has_many :notes, class_name: 'Comment'
end
class Post < ActiveRecord::Base
has_many :comments, as: :commentable
end
这将返回一个类似于:
的字符串public String writeJSON() {
JSONObject object = new JSONObject();
try {
object.put("name", "John");
object.put("surname", "Doe");
return object.toString();
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
阅读:
{"name":"John","surname":"Doe"}