2017-01-01 27 views
0

私はappengineでmemcacheを使用しています。 私はJSON文字列を挿入:これはうまく私の作品appengineのmemcachから文字列を取得する方法 - java

JSONObject dataObj = new JSONObject(cache.get("1234")); // log => {name: "john"} 

、と私は予想されるJSONを取得する:

private static CacheFactory cacheFactory = CacheManager.getInstance().getCacheFactory();; 
private static Cache cache = cacheFactory.createCache(Collections.emptyMap());; 
String data = "{\name\": \"jim\"}"; 
cache.put("1234", data); 

は、今私はmemcacheのから文字列を取得し、JSONオブジェクトを作成しようとしています - >{name: "john"}

jsonを作成する前にデータを取得しています。

Object myData = cache.get("1234"); 
JSONObject dataObj = new JSONObject(myData); // log => {"bytes":[123,34,110,97,109,101,34,58,34,106,111,104,110,34,125],"empty":false} 

、今、私はバイトのオブジェクトでデータを受信して​​います - >{bytes: [12,..],empty: false}

何が起こっているの?期待される行動はありませんか?

私はmemcach-consoleに値がOK保存されたときに注意します EDIT - >{name: "john"}

答えて

1

代わりの

Object myData = cache.get("1234"); 

がオン、ちなみに

String myData = (String) cache.get("1234"); 

してみてくださいApp Engine私は次のコードを使用しています:

MemcacheService memcache = MemcacheServiceFactory.getMemcacheService(); 
memcache.put("1234", object); 
String myData = (String) memcache.get("1234"); 
+0

ありがとう!それは私のために働いた! – dina

関連する問題