
lambdify.aws.jsoniter.JsoniterAwsClientJsonSerializer Maven / Gradle / Ivy
The newest version!
package lambdify.aws.jsoniter;
import java.io.*;
import java.util.*;
import com.jsoniter.JsonIterator;
import com.jsoniter.output.JsonStream;
import lambdify.aws.client.core.http.AwsClientJsonSerializer;
import lombok.experimental.Accessors;
import lombok.val;
/**
*
*/
@Accessors(fluent = true)
public class JsoniterAwsClientJsonSerializer implements AwsClientJsonSerializer {
@Override
public String serialize( Object object ) {
return JsonStream.serialize( JsoniterConf.JACKSON_SUPPORT, object );
}
@Override
public byte[] serializeAsBytes(Object object) {
try ( val byteArray = new ByteArrayOutputStream()) {
JsonStream.serialize( JsoniterConf.JACKSON_SUPPORT, object, byteArray );
return byteArray.toByteArray();
} catch ( IOException e ) {
throw new IllegalStateException( e );
}
}
@Override
public T deserialize(String input, Class clazz) {
return JsonIterator.deserialize( JsoniterConf.JACKSON_SUPPORT, input, clazz );
}
@Override @SuppressWarnings( "unchecked" )
public List deserializeAsList(String s, Class aClass) {
val parsedList = JsonIterator.deserialize( s ).asList();
val list = new ArrayList();
for ( val entry : parsedList ) {
list.add( entry.as( aClass ) );
}
return list;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy