Java 更改JSON字段的数据类型

Java 更改JSON字段的数据类型,java,android,json,hex,Java,Android,Json,Hex,我是Json新手,对从客户端向服务器发送十六进制数据有疑问。目前,我的类bean设置如下: @DatabaseTable(tableName = "SIG") public class Sig { /** The id of the transaction */ @DatabaseField(generatedId = true) private Long id; /** The data associated with the signature */

我是Json新手,对从客户端向服务器发送十六进制数据有疑问。目前,我的类bean设置如下:

@DatabaseTable(tableName = "SIG")
public class Sig {
    /** The id of the transaction */
    @DatabaseField(generatedId = true)
    private Long id;
    /** The data associated with the signature */
    @DatabaseField(dataType = DataType.BYTE_ARRAY, columnDefinition = "BLOB")
    private byte[] data;

    public byte[] getData() {
        return data;
    }

    public void setData(final byte[] data) {
        this.data = data;
    }
}
我遇到的问题是,当它通过JSON发送到服务器时,我希望“数据”字段表示为十六进制。仅将“getData()”方法更改为以下方法是否有任何限制

public String getData() {
    //Code which converts data to hex
    data = data.toHex();
    return data;
}

将这个get方法更改为字符串会弄乱JSON吗?还是有更好的方法将其转换为十六进制

json是一个可以发送十六进制、Base64或任何内容的字符串;任何类型都将转换为字符串

,因此可以将字段保留为字节数组,而只更改get方法以返回字符串吗?我认为最好的方法是在发送json时更改类型