将Python Dict迁移到Java和JSON

2024-09-28 19:26:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个不错的Python程序员。现在我不得不为我的聊天应用程序做一个Wowza模块。一个将通过facebook帐户登录的应用程序和每个用户的状态保存在Wowza服务器上,该服务器使用java开发应用程序,通过flash客户端和RTMP连接。在线状态数据结构在Python中是这样的。在

请告诉我如何用Java来表示它,我对Java中的变量'Types'不太熟悉:(

x = {
    10001: {
        'status': 0,
        'friends': {}
    },
    10002: {
        'status': 1,
        'friends': {
            10001: 0,
            10003: 1
        }
    },
    10003: {
        'status': 1,
        'friends': {
            10001: 0,
            10003: 1
        }
    }
}

10000110002等将是facebook用户ID。。0,1将是它们的联机/脱机状态。 如果10001被连接,数据结构将有一些小的修改,它将把10001的状态更改为1,并添加他所有的朋友ID,从facebook上检索并更新他们的状态。在

^{pr2}$

如果用户10001断开连接,它将转到早期阶段。 有没有什么可以存储为json对象的呢?或者有没有简单的方法来存储和检索数据?在


Tags: 模块用户服务器id应用程序数据结构facebook状态
3条回答

这取决于你想做什么…
如果您可以使用像googlegson这样的json库,那么从Java管理json是完美的。 如果你想自己编写代码,只需要管理整数和字符串,就不难了…
Json结构只是一个数组或一个map key/value,其中key是一个字符串,value是一个简单的值或一个复杂的值,因此是hashmap或array…
总之,一般来说,直接使用GSon比较容易;)

我假设存储和检索是指将其缓存到内存中,因此: (1) 创建javabean类来封装数据。javahashmap非常类似于python字典。为什么不试着用java编写类,就好像它们是python一样,用结果更新你的问题,然后人们可以帮助你处理细节,比如没有真正的python等价物的java泛型。 (2) 使用其中一个Object<;>JSON映射框架将实例序列化到JSON或从JSON序列化实例。格森和杰克逊很受欢迎。在

我只需要http://www.json.org/javadoc/org/json/JSONObject.html库。 我可以不费吹灰之力就使用它,比如给每个对象添加“type”,而且不能像python那样一步创建树。在

感谢mandubian和jtoberon:)

import net.sf.json.JSONException;
import net.sf.json.JSONObject;

public class JSONExample {
    JSONObject json;
    JSONObject objJSON;
    JSONObject objObjJSON;

    public void addtoJSON(){
        json = new JSONObject();
        objJSON= new JSONObject();
        objObjJSON =new JSONObject();

        //adding last tree
        objObjJSON.put(10001, 0);
        objObjJSON.put(10002, 1);

        //adding secondary tree
        objJSON.put("status",1);
        objJSON.put("friends",objObjJSON);

        //added root tree
        objJSON.put(10003,objJSON);

        System.out.println("JSON is " + objJSON);


    }

}

相关问题 更多 >