【发布时间】:2011-05-14 19:49:57
【问题描述】:
您好,我正在使用 Voldemort 来存储我的数据。我的键是一个单词,值是单词和 URL 的出现次数。例如:
key :question
value: 10, www.stackoverflow.com
我正在使用 Json 对象来放置我的值。 我的代码是这样的
import org.json.JSONObject;
import com.metaparadigm.jsonrpc.JSONSerializer;
import voldemort.client.ClientConfig;
import voldemort.client.SocketStoreClientFactory;
import voldemort.client.StoreClient;
import voldemort.client.StoreClientFactory;
public class ClientExample {
public static void main (String [] args) {
String bootstrapUrl = "tcp://localhost:6666";
ClientConfig cc = new ClientConfig ();
cc.setBootstrapUrls (bootstrapUrl);
String[] valuePair = new String[2];
int val = 1;
StoreClientFactory factory = new SocketStoreClientFactory (cc);
StoreClient client = factory.getStoreClient("test");
JSONObject json = new JSONObject();
json.put("occurence",val);
json.put("url", "www.cnn.com");
client.put("foo", json);
}
}
我的 store.xml 看起来像这样
<stores>
<store>
<name>test</name>
<persistence>bdb</persistence>
<routing>client</routing>
<replication-factor>1</replication-factor>
<required-reads>1</required-reads>
<required-writes>1</required-writes>
<key-serializer>
<type>string</type>
</key-serializer>
<value-serializer>
<type>java-serialization</type>
<schema-info>"Compount Types"</schema-info>
</value-serializer>
</store>
</stores>
当我尝试运行代码时,出现以下异常: **
线程“main”中的异常 voldemort.serialization.SerializationException: java.io.NotSerializableException: org.json.JSONObject 在 voldemort.serialization.ObjectSerializer.toBytes(ObjectSerializer.java:47) 在 voldemort.store.serialized.SerializingStore.put(SerializingStore.java:109) 在 voldemort.store.DelegatingStore.put(DelegatingStore.java:68) 在 voldemort.client.DefaultStoreClient.put(DefaultStoreClient.java:208) 在 voldemort.client.DefaultStoreClient.put(DefaultStoreClient.java:193) 在 ClientExample.main(ClientExample.java:27) 造成的: java.io.NotSerializableException: org.json.JSONObject 在 java.io.ObjectOutputStream.writeObject0(未知 来源)在 java.io.ObjectOutputStream.writeObject(未知 来源)在 voldemort.serialization.ObjectSerializer.toBytes(ObjectSerializer.java:44)
**
能否请您告诉我如何序列化 JSON 对象。在此先感谢。
【问题讨论】:
标签: java json serialization