2
我有一個BigInteger變量,例如chipertext
:JSON獲取完整數字號碼
println "chipherTotalAmount= "+chipertext
結果:
然後我把它解析爲JSON,結果是
我怎樣才能得到全數字的價值?
這是我的代碼從web應用程序。
def registerItem = RegisterItem.where {
(dateReceivedItem >= fromDate && dateReceivedItem < toDate)
}.list()
println "registerItem.size = "+registerItem.size()
for (int x = 0; x < registerItem.size(); x++){
RSA rsa = new RSA()
println "x noata .clas = "+registerItem[x].noNota.class
// BigInteger plaintext = new BigInteger(registerItem[x].noNota.getBytes())
publickey = new BigInteger(cifuser.publicKey)
newn = new BigInteger(cifuser.newn)
privatekey = new BigInteger(cifuser.privateKey)
BigInteger NoNota = new BigInteger(registerItem[x].noNota.getBytes());
BigInteger chipherNoNota = rsa.encrypt(NoNota, publickey, newn);
println "chipherNoNota = "+chipherNoNota
def totalmountString = registerItem[x].totalAmount.toString()
println "totalmountString = "+totalmountString
println "totalmountString = "+totalmountString.class
BigInteger TotalAmount = new BigInteger(totalmountString.getBytes());
BigInteger chipherTotalAmount = rsa.encrypt(TotalAmount, publickey, newn);
println "chipherTotalAmount = "+chipherTotalAmount
BigInteger SenderName = new BigInteger(registerItem[x].senderName.getBytes());
BigInteger chipherSenderName = rsa.encrypt(SenderName, publickey, newn);
println "chipherSenderName = "+chipherSenderName
registerItem[x].noNota = chipherNoNota.toString()
registerItem[x].totalAmount = chipherTotalAmount //i cannot parse this to String because at my domain totalAmount was BigInteger
registerItem[x].senderName = chipherSenderName.toString()
registerItem[x].discard()
}
這是我的域名
class RegisterItem implements Serializable{
String noNota
City destination
Date dateReceivedItem
String senderName
String noTelpSender
String noHpSender
String emailSender
String addressSender
String descriptionSender
String receiverName
String noTlpReceiver
String noHpReceiver
String emailReceiver
String addressReceiver
String descriptionReceiver
String deleteFlag = "N"
BigInteger totalAmount
String isPay = "Y"
String useDefault = "Y"
Date dateCreated
Date lastUpdated
String updatedBy = ""
String createdBy
static constraints = {
noTelpSender(nullable:true,blank:true)
noHpSender(nullable:true,blank:true)
emailSender(nullable:true,blank:true)
addressSender(nullable:true,blank:true)
descriptionSender(nullable:true,blank:true)
noTlpReceiver(nullable:true,blank:true)
noHpReceiver(nullable:true,blank:true)
emailReceiver(nullable:true,blank:true)
addressReceiver(nullable:true,blank:true)
descriptionReceiver(nullable:true,blank:true)
createdBy(blank: false, maxSize: 50)
lastUpdated(nullable: true)
}
def beforeInsert = {
// createdBy = springSecurityService.principal.username
dateCreated = new Date()
}
def beforeUpdate = {
// updatedBy = springSecurityService.principal.username
lastUpdated = new Date()
}
}
將它解析爲'String',這樣你就可以完全控制實際結果,特別是它的BigInteger類型。 –
我不能那樣做,因爲我從grails解析了一個列表域,並且該字段totalAmount是BigInteger – akiong
@Rod_Algonquin查看我的文章的更改 – akiong