我认为最好理解为什么我有这么多问题JSON
,我向你解释我的目标是什么:
我与Googles App Engine
. 我想在那里存储数据。数据看起来像
user - username
question - question
date1 - date1
date2 - date2
Android 应用程序具有“简单”功能:发送用户输入的数据并从完整数据库中接收数据。
好的。所以我为此寻找了一个好的“API”。关于那个的问题是:“我怎样才能读取数据”和“我怎样才能发送”。“简单”的答案是:使用JSON
... 很多人对我这么说。
第一步是显示数据库中的数据。我在里面写道python
:
json.dumps({"info": [{'user': 'username1', 'question': 'question1', 'date1':'date1', 'date2':'date1'}, {'user': 'username2', 'question': 'question2', 'date1':'date2', 'date2':'date2'}]})
有用。在客户网站上,我写了Java
这些:
JSONObject ob = new JSONObject(result);
JSONArray arNames = ob.getJSONArray("info");
for(int i = 0; i < arNames.length(); i++){
JSONObject c = arNames.getJSONObject(i);
Log.i("name", c.getString("name"));
Log.i("frage", c.getString("question"));
}
这些作品也。
但是(现在是关于线程的主要问题!):为什么我们使用JSON
格式化?!为什么?JSON
我可以使用这些数据创建一个没有库和类的其他简单“API” 。
示例:如果我只在服务器站点上说:
!user:user;question:question;date1:date1;date2:date2
!user:user1;question:question1;data2:date3;date2:date3
... and so one...
在客户端站点上相同:
[READ THE DATA WITH ClientHTTP]
String[] all = result.Split("!");
for(int i = 0; i<all.length; i+= 1)
{
String[] split2 = all[i].Split(";");
String[] user = split2[0].Split(":");
// user[1] holds now the user
String[] split3 = split2[1].Split(";");
String[] questinn = split3.Split(":");
// question[1] holds now the question
... AND SO ONE!
那么,为什么我使用JSON
? 我的选择或示例也是如此。但是用我自己的语法..
谢谢你的帮助