All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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