Python中文
首页
教程
问答
标签
搜索
登录
注册
在用Volley库解析JSON之后,我并没有任何错误,但结果并没有显示出来
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试使用Volley库通过Android访问json数据,以及我使用的web服务器的后端Python。给你是我的服务器端代码:</p> <pre><code>def showAndroid(request): users=User.objects.all() data = serializers.serialize('json', users, fields=('nom', 'prenom', 'postnom','mail')) return HttpResponse(data, content_type='application/json') </code></pre> <p>当我访问URL时,我得到以下结果:</p> <p><a href="https://i.stack.imgur.com/NoUby.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/NoUby.png" alt="enter image description here"/></a></p> <p>另请参见我的android代码:</p> <pre><code>package com.example.lislis.mesexercices; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.Volley; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class UserJson extends AppCompatActivity { EditText nom,prenom,postnom,email; Button ajouter,voir; TextView list; RequestQueue requestQueue; String insertUrl="http://192.168.1.14:8000/webservices/insert-users/"; String showUrl="http://192.168.1.14:8000/webservices/afficher-users/"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.user_json); nom=(EditText)findViewById(R.id.nom); prenom=(EditText)findViewById(R.id.prenom); postnom=(EditText)findViewById(R.id.postnom); email=(EditText)findViewById(R.id.email); ajouter=(Button) findViewById(R.id.ajouter_user); voir=(Button)findViewById(R.id.afficher_users); list=(TextView)findViewById(R.id.list_users); requestQueue= Volley.newRequestQueue(this); voir.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.GET, showUrl, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { JSONArray users=response.getJSONArray("data"); for(int i=0;i<users.length();i++) { JSONObject user=users.getJSONObject(i); String fname=user.getString("prenom"); String lname=user.getString("nom"); String mname=user.getString("postnom"); String mail=user.getString("mail"); list.append(fname+" "+lname+" "+mname+" "+mail+"\n"); System.out.println("Tototo\n"+fname+" "+lname+" "+mname+" "+mail+"\n"); } list.append("===\n="); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }); requestQueue.add(jsonObjectRequest); } }); } } </code></pre> <p>但当我单击按钮显示JSON数据时,在我的django服务器监视器中,我可以看到一个状态代码为200的成功GET请求: <a href="https://i.stack.imgur.com/wimSo.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wimSo.png" alt="enter image description here"/></a></p> <p>但是为了测试服务器是否一切正常,我尝试用Ajax请求创建一个HTML文件,并将该文件复制到同一个WLAN中的另一台计算机上,我访问json时没有任何限制问题。是吗我的源代码有问题吗?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><code>JSONArray users=response.getJSONArray("data");</code> 复发 JSONArray用户=响应.getJSONArray(“字段”)</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
2 回答
无法使用Django\u mssql\u后端迁移到外部hos
8 回答
无法使用Django&Python3.4连接到MySql
5 回答
无法使用Django+nginx上载媒体文件
2 回答
无法使用Django1.6导入名称模式
1 回答
无法使用Django1.7和mongodb登录管理站点
4 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
3 回答
无法使用Djangockedi验证CBV中的字段
1 回答
无法使用Djangocketditor上载图像(错误400)
9 回答
无法使用Djangocron进行函数调用
4 回答
无法使用Djangofiler djang上载文件
9 回答
无法使用Djangokronos
3 回答
无法使用Djangomssql provid
2 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
9 回答
无法使用Djangomssq迁移Django数据库
8 回答
无法使用Djangonox创建用户
4 回答
无法使用Djangopyodb从Django查询SQL Server
9 回答
无法使用Djangopython3ldap连接到ldap
9 回答
无法使用Djangoredis连接到redis
7 回答
无法使用Django中的FK创建新表
8 回答