【问题标题】:How to get values from complex Object return from Socket IO server in android java如何从android java中的Socket IO服务器返回的复杂对象中获取值
【发布时间】:2016-03-18 06:59:32
【问题描述】:

在使用 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 对象中检索 "Name","EmailAddress","MobileNumber"..etc。

【问题讨论】:

  • 如果要读取一个JSON,调用GSON方法fromJson

标签: java android json node.js socket.io


【解决方案1】:

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 的情况下正确解析它。

【讨论】:

    猜你喜欢
    • 2019-12-12
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 2016-05-14
    • 2016-11-10
    • 1970-01-01
    相关资源
    最近更新 更多