package com.alibaba.json.bvt.bug;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.alibaba.fastjson.serializer.SerializerFeature;
import junit.framework.TestCase;
public class Issue_748 extends TestCase {
protected void setUp() throws Exception {
com.alibaba.fastjson.parser.ParserConfig.global.addAccept("com.alibaba.json.bvt.bug.Issue_748.");
}
public void testJsonObjectWithClassName() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("key1", "value1");
jsonObject.put("key2", "value2");
DataObject dataObject = new DataObject();
dataObject.setValue(jsonObject);
String jsonStr = JSON.toJSONString(dataObject, SerializerFeature.QuoteFieldNames,
SerializerFeature.SkipTransientField, SerializerFeature.WriteClassName);
// System.out.println("parse之前:" + jsonStr);
DataObject obj = (DataObject) JSON.parse(jsonStr, Feature.IgnoreNotMatch);
Assert.assertNotNull(obj.value);
Assert.assertNotNull(obj.value.get("key1"));
Assert.assertNotNull(obj.value.get("key2"));
}
public static class DataObject {
private JSONObject value;
public DataObject(){
}
public JSONObject getValue() {
return value;
}
public void setValue(JSONObject value) {
this.value = value;
}
@Override
public String toString() {
return "DataObject{" + "value=" + value + '}';
}
}
}