加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在java中序列化JSON对象

发布时间:2020-12-14 23:59:38 所属栏目:Java 来源:网络整理
导读:嗨,我正在使用Voldemort来存储我的数据.我的关键是一个单词,值是单词和URL的出现次数.例如: key :questionvalue: 10,www.stackoverflow.com 我正在使用Json对象来放置我的值. 我的代码看起来像这样 import org.json.JSONObject;import com.metaparadigm.jso
嗨,我正在使用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>

当我试图运行代码时,我得到以下异常:
**

Exception in thread “main”
voldemort.serialization.SerializationException:
java.io.NotSerializableException:

org.json.JSONObject at
voldemort.serialization.ObjectSerializer.toBytes(ObjectSerializer.java:47)
at
voldemort.store.serialized.SerializingStore.put(SerializingStore.java:109)
at
voldemort.store.DelegatingStore.put(DelegatingStore.java:68)
at
voldemort.client.DefaultStoreClient.put(DefaultStoreClient.java:208)
at
voldemort.client.DefaultStoreClient.put(DefaultStoreClient.java:193)
at
ClientExample.main(ClientExample.java:27)
Caused by:
java.io.NotSerializableException:
org.json.JSONObject at
java.io.ObjectOutputStream.writeObject0(Unknown
Source) at
java.io.ObjectOutputStream.writeObject(Unknown
Source) at
voldemort.serialization.ObjectSerializer.toBytes(ObjectSerializer.java:44)

**

你能否告诉我如何序列化JSON对象.提前谢谢.

解决方法

看看 Gson库.它对对象映射和序列化做了很好的JSON.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读