fastjson 同一属性名多次嵌套,反解析赋值混乱问题咨询

sigwle7e  于 2021-11-27  发布在  Java
关注(0)|答案(3)|浏览(324)

以下为lbs.qq.com返回的json字符串{ 'status': 0, 'message': 'query ok', 'request_id': '6249108055938973921', 'result': { 'location': { 'lat': 39.91765, 'lng': 116.4601 }, 'address': '北京市朝阳区东三环中路7号东三环中路辅路', 'formatted_addresses': { 'recommend': '朝阳区东三环中路北京财富中心财富中心三期', 'rough': '朝阳区东三环中路北京财富中心财富中心三期' }, 'address_component': { 'nation': '中国', 'province': '北京市', 'city': '北京市', 'district': '朝阳区', 'street': '东三环中路辅路', 'street_number': '东三环中路7号' }, 'ad_info': { 'adcode': '110105', 'name': '中国,北京市,北京市,朝阳区', 'location': { 'lat': 39.917648, 'lng': 116.460098 }, 'nation': '中国', 'province': '北京市', 'city': '北京市', 'district': '朝阳区' }, 'address_reference': { 'crossroad': { 'title': '东三环中路辅路/兆丰街(路口)', 'location': { 'lat': 39.91835, 'lng': 116.461349 }, '_distance': 123.9, '_dir_desc': '西南' }, 'village': { 'title': '关东店社区', 'location': { 'lat': 39.917099, 'lng': 116.457176 }, '_distance': 256.9, '_dir_desc': '东' }, 'town': { 'title': '呼家楼街道', 'location': { 'lat': 39.917648, 'lng': 116.460098 }, '_distance': 0, '_dir_desc': '内' }, 'street_number': { 'title': '东三环中路7号', 'location': { 'lat': 39.91597, 'lng': 116.46048 }, '_distance': 0, '_dir_desc': '' }, 'street': { 'title': '东三环中路辅路', 'location': { 'lat': 39.917728, 'lng': 116.46138 }, '_distance': 96.3, '_dir_desc': '西' }, 'landmark_l1': { 'title': '北京财富中心', 'location': { 'lat': 39.91597, 'lng': 116.46048 }, '_distance': 0, '_dir_desc': '内' }, 'landmark_l2': { 'title': '财富中心三期', 'location': { 'lat': 39.917919, 'lng': 116.460533 }, '_distance': 14.3, '_dir_desc': '' } } } }
根据此字符串的内容进行反解析
GcoderDTO g = JSON.parseObject(test,GcoderDTO.class);
System.out.println(g.status);
属性location中的值,只有第一次出现的时候是完全正常,其余地方出现时,值比较混乱,有之前的遗留数据
通过以下方式使用
private LocationDTO location;

os8fio9y

os8fio9y1#

GcoderDTO
        private int status;
	private String request_id;
	private String message;
	private GcoderResultDTO result;
GcoderResultDTO
	private String address;
	private FormattedAddresses formatted_addresses;
	private AddressComponentDTO address_component;
	private AdInfoDTO ad_info;
	private AddressReferenceDTO address_reference;
	private PoisDTO pois;
AddressReferenceDTO
        private FamousAreaDTO famous_area;
	private TownDTO town;
	private FamousAreaDTO landmark_l1;
	private FamousAreaDTO landmark_l2;
	private FamousAreaDTO street;
	private FamousAreaDTO street_number;
	private FamousAreaDTO crossroad;
	private FamousAreaDTO village;
FamousAreaDTO
        private String title;
	private LocationDTO location;
	private float  _distance;
	private String _dir_desc;
LocationDTO
        private float lat;
        private float lng;
TownDTO
        private String title;
	private LocationDTO location;
	private float  _distance;
	private String _dir_desc;
PoisDTO
        private String id;
	private String title;
	private String address;
	private String category;
	private LocationDTO location;
	private float _distance;
wkyowqbh

wkyowqbh2#

不是很懂你的意思,能说清楚一些么?

ukxgm1gy

ukxgm1gy3#

json数据转换后,其他地方的数据正常,嵌套location子属性对应值lat,lng出现数值错位的现象,对应位置上的值有误

相关问题