More Information:
Raw data from sender (client app) : 10% Off ABC
For B4J Server:
===============================================
My Json_Decode Function:
Sub Json_Decode(obj As String) As Map
Dim su As StringUtils
Dim parser As JSONParser
Dim data As String = obj
parser.Initialize(su.DecodeUrl(data,"utf8"))
'parser.Initialize(data)
Dim root As Map = parser.NextObject
If Not (root.IsInitialized) Then
root.Initialize
End If
Return root
End Sub
====================================================
This from Main Function:
Dim data() As Byte = Bit.InputStreamToBytes(in)
Dim text_data As String = BytesToString(data, 0, data.Length, "UTF8") '
Log("Post Raw Data:"&text_data)
I Get:
Post Raw Data:{"action":"action1","data":"{\"master\":{\"name\":\"10%25%20Off%20%20ABC\"},\"items\":{\"code\":\"0003\"}}","page":0}
Dim root As Map = MyUtility.Json_Decode(text_data)
Log("post:"&root)
I Get:
post
MyMap) {data={"master":{"name":"10% Off ABC"},"items":{"code":"0003"}}, action=action1, page=0}
Dim mdata As Map =MyUtility.Json_Decode(root.Get("data"))
I Get Error :
(IllegalArgumentException) java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: " O"
For sender side (client application) I use > name: encodeURI( '10% Off ABC' )
I don't know how to fix this error.
Regards,
PMT