我面臨的問題,同時通過使用Jackson API ObjectMapper類將JSON字符串轉換爲Java對象。JSON到JAVA對象由傑克遜
有人可以幫助我將JSON轉換爲等價的Java Object格式。
在此先感謝。
JSON字符串:
{
"CUX_OE_ORDER_INFO_V": [
{
"CITY": "南京市",
"ADDRESS1": "金箔路購物廣場",
"ADDRESS2": "江寧區東山鎮金箔路999號(地下一層部分地上",
},
{
"CITY": "南京市",
"ADDRESS1": "金箔路購物廣場",
"ADDRESS2": "江寧區東山鎮金箔路999號(地下一層部分地上",
},
{
"CITY": "南京市",
"ADDRESS1": "金箔路購物廣場",
"ADDRESS2": "江寧區東山鎮金箔路999號(地下一層部分地上",
}
]
}
的Java類:
import com.fasterxml.jackson.databind.ObjectMapper;
import test.yiliservice.GetCUXOEORDERINFOV;
import test.yiliservice.ObjectFactory;
import test.yiliservice.YiliService;
import test.yiliservice.YiliServicePortType;
public class OrderInfoClient {
public static void main(String ...a){
try {
YiliService yiliService=new YiliService();
YiliServicePortType service= yiliService.getYiliServiceHttpPort();
ObjectFactory factory=new ObjectFactory();
GetCUXOEORDERINFOV request=factory.createGetCUXOEORDERINFOV();
request.setIn0("password");
request.setIn1("Y");
request.setIn2("order_number = '60212191'");
String response=service.getCUXOEORDERINFOV("password", "Y", "order_number = '60212191'");
System.out.println("Response :"+response);
//Convert JSON to a Map
ObjectMapper mapper = new ObjectMapper();
MyPojo map = mapper.readValue(response, MyPojo.class);
for (CUX_OE_ORDER_INFO_V b1: map.getCUX_OE_ORDER_INFO_V()){
System.out.println(b1.getORDER_NUMBER());
}
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
MyPojo.java:
import java.util.List;
public class MyPojo
{
private List<CUX_OE_ORDER_INFO_V> CUX_OE_ORDER_INFO_V;
public List<CUX_OE_ORDER_INFO_V> getCUX_OE_ORDER_INFO_V()
{
return CUX_OE_ORDER_INFO_V;
}
public void setCUX_OE_ORDER_INFO_V (List<CUX_OE_ORDER_INFO_V> CUX_OE_ORDER_INFO_V)
{
this.CUX_OE_ORDER_INFO_V = CUX_OE_ORDER_INFO_V;
}
@Override
public String toString()
{
return "ClassPojo [CUX_OE_ORDER_INFO_V = "+CUX_OE_ORDER_INFO_V+"]";
}
}
例外: -
com.fasterxml.jackson.core.JsonParseException:意外字符 ('C'(code 67)):期待雙字引號開始字段名稱 [來源: {CUX_OE_ORDER_INFO_V:[{「DEPT_NAME」:「液奶事業部」, 「SALES_AREA」: 「蘇皖」, 「OBU」: 「南京」, 「HEADER_ID」:19453912, 「ORDER_NUMBER」:60212191, 「LINE_ID」:142741593 「LINE_NUMBER」:3 「ORDER_SOURCE_ID」:0 ,「NAME」:「聯機」,「ORDER_TYPE_ID」:1199,「ORDER_TYPE」:「南京分標準銷售訂單」,「REQUEST_DATE」:「2015-08-31 15:02:41.0」,「PRICING_DATE」:「 2015-08-31 15:02:30.0「,」ORDERED_DATE「:」2015-08-31 15:02:56.0「,」LAST_UPDATE_DATE「:」2015-08-31 15:34:25.0「,」 PAYMENT_TERM_ID「:1003,」TERMS「:」6 Days「,」SALESREP_ID「:101875802,」SALES_NAME「:」譚豔兵「,」ORG_ID「:179,」CUSTOMER_PRODUCTION_LINE「:」null「,」CUSTOMER_ID「:3595, CUSTOMER_TY PE 「:」 R」, 「的organization_ID」:365, 「SHIP_SITE_USE_ID」:175067 「BILL_SITE_USE_ID」:175065 「SHIPPING_METHOD_CODE」: 「汽運 - 汽運直營」, 「CUSTOMER_CLASS_CODE」: 「空」, 「CUSTOMER_NUMBER」 : 「NJSG0001」, 「CUSTOMER_NAME」: 「蘇果超市有限公司」, 「ORDER_CATEGORY_CODE」: 「階」, 「HEADER_FLOW_STATUS_CODE」: 「BOOKED」, 「LIN_FLOW_STATUS_CODE」: 「AWAITING_SHIPPING」, 「ITEM_NUM」: 「204104001900」,」 ORDER_QUANTITY_UOM「:」EA「,」UNIT_OF_MEASURE「:」件「,」ORDERED_QUANTITY「:30,」SCHEDULE_SHIP_DATE「:」2015-08-31 23:59:00.0「,」INVENTORY_ITEM_ID「:4696613,」PRICE_LIST_ID「:11837 「PRICE_LIST」: 「南京分公司蘇果超市價格」, 「CURRENCY_CODE」: 「人民幣」, 「CONVERSION_RATE」:空, 「CONVERSION_TYPE_CODE」: 「公司」, 「CONVERSION_RATE_DATE」: 「空」, 「UNIT_SELLING_PRICE」:32.8 「SUBINVENTORY_CODE」: 「C52」, 「SUBINVENTORY_NAME」: 「C52:南京分倉」, 「SHIPMENT_PRIORITY」: 「空」, 「SHIPPING_INSTRUCTIONS」: 「YTNNJWJR150831006」, 「SHIPMENT_PRIORITY_CODE」: 「空」, 「FREIGHT_CARRIER_CODE」:」遠方物流 「 」CUSTOMER_SITE_CODE「: 」175067「,」 CUSTOMER_PROVINCE 「:」 江蘇省 「 」CUSTOMER_CITY「: 」南京市「, 」城市「: 」南京市「, 」ADDRESS1「: 」金箔路購物廣場「, 」ADDRESS2「:」 江寧區東山鎮金箔路999號(地下一層部分地上」, 「地址3」: 「空」, 「地址4」: 「空」, 「POSTAL_CODE」: 「210000」, 「FIRST_NAME」: 「空」, 「LAST_NAME」: 「樊雨花」, 「COUNTRY_CODE」 :「null」,「PHONE_NUMBER」:「null」,「SITE_COUNTRY_CODE」:「86」,「SITE_PHONE_NUMBER」:「52190235」,「TO_ORGANIZATION_ID」:null,「ATTRIBUTE12」:「null」,「CUSTOMER_CONTACT」:「樊雨花 18951709189 「},{」 DEPT_NAME 「:」 液奶事業部」, 「SALES_AREA」: 「蘇皖」, 「OBU」: 「南京」, 「HEADER_ID」:19453912, 「ORDER_NUMBER」:60212191, 「LINE_ID」:142741574 ,「LINE_NUMBER」:1,「ORDER_SOURCE_ID」:0,「NAME」:「聯機」,「ORDER_TYPE_ID」:1199,「ORDER_TYPE」:「南京分標準銷售訂單」,「REQUEST_DATE」:「2015-08-31 15:02:41.0「,」PRICING_DATE「:」2015-08-31 15:02:30.0「,」ORDERED_DATE「:」2015-08-31 15:02:47.0「,」LAST_UPDATE_DATE「:」 08-31 15:34:25。0「,」PAYMENT_TERM_ID「:1003,」TERMS「:」60, Days「,」SALESREP_ID「:101875802,」SALES_NAME「:」譚豔兵「,」ORG_ID「:179,」CUSTOMER_PRODUCTION_LINE「:」null「,」CUSTOMER_ID「 :3595, 「CUSTOMER_TYPE」: 「R」, 「的organization_ID」:365, 「SHIP_SITE_USE_ID」:175067 「BILL_SITE_USE_ID」:175065 「SHIPPING_METHOD_CODE」: 「汽運 - 汽運直營」, 「CUSTOMER_CLASS_CODE」: 「空」 「CUSTOMER_NUMBER」: 「NJSG0001」, 「CUSTOMER_NAME」: 「蘇果超市有限公司」, 「ORDER_CATEGORY_CODE」: 「階」, 「HEADER_FLOW_STATUS_CODE」: 「BOOKED」, 「LIN_FLOW_STATUS_CODE」: 「AWAITING_SHIPPING」, 「ITEM_NUM」:」 204104001400「,」ORDER_QUANTITY_UOM「:」EA「,」UNIT_OF_MEASURE「:」件「,」ORDERED_QUANTITY「:16,」SCHEDULE_SHIP_DATE「:」2015-08-31 23:59:00.0「,」INVENTORY_ITEM_ID「:2148603, PRICE_LIST_ID 「:11837,」 PRICE_LIST 「:」 南京分公司蘇果超市價格 「 」CURRENCY_CODE「: 」人民幣「, 」CONVERSION_RATE「:空, 」CONVERSION_TYPE_CODE「: 」公司「, 」CONVERSION_RATE_DATE「: 」空「,」 UNIT_SELLING_PRICE 「:42.08,」 SUBINVENTORY_CODE 「:」 C52" , 「SUBINVENTORY_NAME」:「C52 :南京分倉」, 「SHIPMENT_PRIORITY」: 「空」, 「SHIPPING_INSTRUCTIONS」: 「YTNNJWJR150831006」, 「SHIPMENT_PRIORITY_CODE」: 「空」, 「FREIGHT_CARRIER_CODE」: 「遠方物流」, 「CUSTOMER_SITE_CODE」: 「175067」, 「CUSTOMER_PROVINCE」 : 「江蘇省」, 「CUSTOMER_CITY」: 「南京市」, 「城市」: 「南京市」, 「ADDRESS1」: 「金箔路購物廣場」, 「ADDRESS2」:「江寧區東山鎮金箔路999號(地下一層部分地上」, 「地址3」: 「空」, 「地址4」: 「空」, 「POSTAL_CODE」: 「210000」, 「FIRST_NAME」: 「空」, 「LAST_NAME」: 「樊雨花」, 「COUNTRY_CODE」: 「null」,「PHONE_NUMBER」:「null」,「SITE_COUNTRY_CODE」:「86」,「SITE_PHONE_NUMBER」:「52190235」,「TO_ORGANIZATION_ID」:null,「ATTRIBUTE12」:「null」,「CUSTOMER_CONTACT」:「樊雨花 18951709189 「},{」 DEPT_NAME 「:」 液奶事業部」, 「SALES_AREA」: 「蘇皖」, 「OBU」: 「南京」, 「HEADER_ID」:19453912, 「ORDER_NUMBER」:60212191, 「LINE_ID」:142741585, 「LINE_NUMBER」:2,「ORDER_SOURCE_ID」:0,「NAME」:「聯機」,「ORDER_TYPE_ID」:1199,「ORDER_TYPE」:「南京分標準銷售訂單」,「REQUEST_DATE」:「2015-08-31 15:02:41.0「,」PRICING_DATE「:」2015-08-31 15:02:30.0「,」ORDERED_DATE「:」2015-08-31 15:02:50.0「,」LAST_UPDATE_DATE「:」2015 -08-31 15:34:26.0「,」PAYMENT_TERM_ID「:1003,」TERMS「:」60 Days「,」SALESREP_ID「:101875802,」SALES_NAME「:」譚豔兵「,」ORG_ID「:179,」CUSTOMER_PRODUCTION_LINE 「:」 空 「 」CUSTOMER_ID「:3595, 」CUSTOMER_TYPE「: 」R「, 」的organization_ID「:365, 」SHIP_SITE_USE_ID「:175067 」BILL_SITE_USE_ID「:175065 」SHIPPING_METHOD_CODE「:」 汽運 - 汽運直營」, 「CUSTOMER_CLASS_CODE」: 「空」, 「CUSTOMER_NUMBER」: 「NJSG0001」, 「CUSTOMER_NAME」: 「蘇果超市有限公司」, 「ORDER_CATEGORY_CODE」: 「階」, 「HEADER_FLOW_STATUS_CODE」: 「BOOKED」, 「LIN_FLOW_STATUS_CODE」: 「AWAITING_SHIPPING」,「ITEM_NUM」:「204006000802」,「ORDER_QUANTITY_UOM」:「EA」,「UNIT_OF_MEASURE」:「件」,「ORDERED_QUANTITY」:4,「SCHEDULE_SHIP_DATE」:「2015-08-31 23:59:00」 「INVENTORY_ITEM_ID」:4526768 「PRICE_LIST_ID」:11837, 「PRICE_LIST」:「南京分公司蘇果市價格 「 」CURRENCY_CODE「: 」人民幣「, 」CONVERSION_RATE「:空, 」CONVERSION_TYPE_CODE「: 」公司「, 」CONVERSION_RATE_DATE「: 」空「, 」UNIT_SELLING_PRICE「:48, 」SUBINVENTORY_CODE「: 」C52「,」 SUBINVENTORY_NAME 「:」 C52:南京分倉」, 「SHIPMENT_PRIORITY」: 「空」, 「SHIPPING_INSTRUCTIONS」: 「YTNNJWJR150831006」, 「SHIPMENT_PRIORITY_CODE」: 「空」, 「FREIGHT_CARRIER_CODE」: 「遠方物流」, 「CUSTOMER_SITE_CODE」: 「175067」 「CUSTOMER_PROVINCE」: 「江蘇省」, 「CUSTOMER_CITY」: 「南京市」, 「城市」: 「南京市」, 「ADDRESS1」: 「金箔路購物廣場」, 「ADDRESS2」:「江寧區東山鎮金箔路999號(地下一層部分地上」, 「地址3」: 「空」, 「地址4」: 「空」, 「POSTAL_CODE」: 「210000」, 「FIRST_NAME」: 「空」, 「LAST_NAME」: 「樊雨花」, 「COUNTRY_CODE」: 「空」, 「PHONE_NUMBER」: 「空」, 「SITE_COUNTRY_CODE」: 「86」, 「SITE_PHONE_NUMBER」: 「52190235」, 「TO_ORGANIZATION_ID」:空, 「ATTRIBUTE12」: 「空」, 「CUSTOMER_CONTACT」: 「樊雨花 18951709189」}]}; line:1,column:3] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1486) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:518 ) 在 com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:447) 在 com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddName(ReaderBasedJsonParser.java:1340) 在 com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:618) 在 com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:136) 在 com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3560) 在 com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2576) 在OrderInfoClient.main(OrderInfoClient。java:32)
請添加您的Java類不工作 –
請參閱這裏http://www.jsonschema2pojo.org –