[英]How to get values from complex Object return from Socket IO server in android java
在使用 android Socket.io nodejs 服务器时...
服务器返回用户数据列表
private Emitter.Listener onSyncdData = new Emitter.Listener() {
@Override
public void call(final Object... args) {
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
Gson gson=new Gson();
String json = gson.toJson(args);
json 字符串包含
[{"values":
[{"nameValuePairs":{"Name":"Varun","EmailAddress":"","Latitude":"12","Langitude":"12","IsYours":"false","MobileNumber":"(903) 011-7411"}},
{"nameValuePairs":{"Name":"Varun","EmailAddress":"","Latitude":"12","Langitude":"12","IsYours":"false","MobileNumber":"(905) 970-8111"}},
{"nameValuePairs":{"Name":"Viany","EmailAddress":"","Latitude":"12","Langitude":"12","IsYours":"false","MobileNumber":"(900) 094-3111"}},
{"nameValuePairs":{"Name":"Pavan","EmailAddress":"","Latitude":"12","Langitude":"12","IsYours":"false","MobileNumber":"(779) 981-3111"}},
{"nameValuePairs":{"Name":"Rakesh","EmailAddress":"","Latitude":"12","Langitude":"12","IsYours":"false","MobileNumber":"(800) 895-3111"}},
{"nameValuePairs":{"Name":"","EmailAddress":"","Latitude":"12","Langitude":"12","IsYours":"true","MobileNumber":"15555215554"}}
]}]
我的问题是如何从 json 或 args 对象中检索“姓名”、“电子邮件地址”、“手机号码”...等。
Gson 接受 JsonElement 但不接受 JSONObject(org.json)。 因此,您需要在代码中执行以下操作,以免获得 nameValuePairs:
JSONObject obj = (JSONObject)args[0];//be sure to org.json but not com.google.gson
PrasingClass parsingClass = gson.fromJson(obj.toString(),PrasingClass.class);
在没有 nameValuePairs 的情况下正确解析它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.