各位大神您好,这个问题困扰几天了一直没找到办法。
就是A服务上面我定义了一个ModelVO 里面加了 @JSONField(name="序列号")等,希望的是 最终结果如下(对应的json属性变成中文),但是会发现偶尔是中文 偶尔是英文,然后发现一个规律。如果json解析发现这个对象是linkedHashMap的时候 就是英文,如果是发现是ModelVo的时候就是中文(实际上我这个A服务的确每次都代码里面存进去的都是VO实体对象),麻烦有知道的看看怎么解决,我放在vo的属性文件也不行 放在get也是一样。
{ "data": { "产品类型": "iPhone6,2", "产地": "iPhone 5s", "序列号": "DX6R5VW1FR9M", "支持网络": [ "https://www.apple.com/iphone/LTE/", "https://support.apple.com/HT202909" ], "网络型号,若与本机不一致,则可能为翻新机": "A1530" }, "errorCode": "", "errorMsg": "", "success": true }
package com.fastboot.fmd.checkcoverage.api.vo.apple;
import com.alibaba.fastjson.annotation.JSONField; import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import java.io.Serializable;
/**
- @description:
- @author: mj
- @createDate: 2019/6/20 12:30 AM
- @projectName: fmd-checkcoverage
-
@package: com.fastboot.fmd.checkcoverage.api.vo */ @JsonIgnoreProperties(ignoreUnknown = true) public class ModelVO implements Serializable {
private static final long serialVersionUID = -2555435029325937287L; /**
- 序列号 */
private String sn; /**
- 产品 */ private String product; /**
- 网络型号,若与本机不一致,则可能为翻新机 */ private String model; /**
- 产品类型 */ private String identifier; /**
- 支持网络 */ private String[] network;
@JSONField(name="序列号") public String getSn() { return sn; }
public void setSn(String sn) { this.sn = sn; }
@JSONField(name="产地") public String getProduct() { return product; }
public void setProduct(String product) { this.product = product; }
@JSONField(name="网络型号,若与本机不一致,则可能为翻新机")
public String getModel() { return model; }
public void setModel(String model) { this.model = model; }
@JSONField(name="产品类型") public String getIdentifier() { return identifier; }
public void setIdentifier(String identifier) { this.identifier = identifier; }
@JSONField(name="支持网络") public String[] getNetwork() { return network; }
public void setNetwork(String[] network) { this.network = network; } }