Closed
Description
I have written to an MMDB file in Python:
writer = MMDBWriter()
writer.database_type = 'GeoIP2-ISP'
writer.insert_network(IPSet(['1.1.0.0/24', '1.1.1.0/24']), {'city': 'CITY', 'isp': 'ISP'})
writer.insert_network(IPSet(['8.8.8.0/24']), {
"isp": 'Google',
"organization": 'Google',
"ip_address": '8.8.8.0',
"autonomous_system_organization": 'GOOGLE',
"autonomous_system_number": '15169'
})
writer.to_db_file(filename)
I have used the file in a Java application and encountered an error while deserializing data:
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:65)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
at com.maxmind.db.Decoder.decodeMapIntoObject(Decoder.java:436)
... 160 more
Caused by: java.lang.ClassCastException: Cannot cast java.lang.String to java.lang.Long
at java.base/java.lang.Class.cast(Class.java:4067)
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
... 163 more
When I used the integer value 15169, I received a similar message: 'Cannot cast java.lang.Integer to java.lang.Long'.
How can I mark a field to be parsed as long?
Metadata
Metadata
Assignees
Labels
No labels