Skip to content

Retrieve Exception when using List ( java.util.Arrays.asList , java.util.Colletions.emptyList , java.util.Colletions.emptySet , java.util.Colletions.emptyMap)  #28

Description

@Arya1112

I try to serialize java util collection , but when result of collection from inner class like
method

"java.util.Arrays.asList , java.util.Colletions.emptyList , java.util.Colletions.emptySet , java.util.Colletions.emptyMap"

i got error :

at encoder.java.util.Arrays.ArrayList.encode(ArrayList.java)
at com.jsoniter.output.JsonStream.writeVal(JsonStream.java:276)
at com.jsoniter.output.JsonStream.serialize(JsonStream.java:295)
at com.jsoniter.output.JsonStream.serialize(JsonStream.java:314)
at test.json.datatype.JavaUtilCollectionsJson.main(JavaUtilCollectionsJson.java:28)

My Test Code :

import com.jsoniter.DecodingMode;
import com.jsoniter.JsonIterator;
import com.jsoniter.annotation.JsoniterAnnotationSupport;
import com.jsoniter.output.EncodingMode;
import com.jsoniter.output.JsonStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;


public class JavaUtilCollectionsJson {
    public static void main(String[] args) {
        JsoniterAnnotationSupport.enable();
        JsonIterator.setMode(DecodingMode.DYNAMIC_MODE_AND_MATCH_FIELD_STRICTLY);
        JsonStream.setMode(EncodingMode.DYNAMIC_MODE);
        
        List<String> arraysAsList=Arrays.asList(" STRING-1 ", " STRING-2 ", " STRING-3 ");
        try{
            JsonStream.serialize(arraysAsList);
        }
        catch(Throwable t){
            System.out.println("============== ERROR Arrays.asList ===================");
            t.printStackTrace();
            System.out.println("============== End ERROR Arrays.asList ===================");
            
        }

        List<String> emptyList=Collections.emptyList();
        try{
            JsonStream.serialize(emptyList);
        }
        catch(Throwable t){
            System.out.println("============== ERROR Collections.emptyList ===================");
            t.printStackTrace();
            System.out.println("============== End ERROR Collections.emptyList ===================");
        }
        
        
        Set<String> emptySet=Collections.emptySet();
        try{
            JsonStream.serialize(emptySet);
        }
        catch(Throwable t){
            System.out.println("============== ERROR Collections.emptySet ===================");
            t.printStackTrace();
            System.out.println("============== End ERROR Collections.emptySet ===================");
        }        
        
        Map<String,Object> emptyMap=Collections.emptyMap();
        try{
            JsonStream.serialize(emptyMap);
        }
        catch(Throwable t){
            System.out.println("============== ERROR Collections.emptyMap ===================");
            t.printStackTrace();
            System.out.println("============== End ERROR Collections.emptyMap ===================");
        }        
        
    }
}

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions