Jackson API ObjectMapper 클래스를 사용하여 JSON 문자열을 Java 오브젝트로 변환하는 중 문제점이 있습니다.JSON To Jackson 오브젝트 by Jackson
누군가 나를 JSON 아래로 변환하는 것을 도와 줄 수있는 Java Object 형식이 이에 해당합니다.
미리 감사드립니다.
JSON 문자열 :
{
"CUX_OE_ORDER_INFO_V": [
{
"CITY": "南京市",
"ADDRESS1": "金箔路购物广场",
"ADDRESS2": "江宁区东山镇金箔路999号(地下一层部分地上",
},
{
"CITY": "南京市",
"ADDRESS1": "金箔路购物广场",
"ADDRESS2": "江宁区东山镇金箔路999号(地下一层部分地上",
},
{
"CITY": "南京市",
"ADDRESS1": "金箔路购物广场",
"ADDRESS2": "江宁区东山镇金箔路999号(地下一层部分地上",
}
]
}
자바 클래스 :
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'(코드 67)) : 필드 이름을 시작할 때 큰 따옴표가 필요합니다. [출처 : {{ "DEPT_NAME": "液 奶OBD ": 19453912,"ORDER_NUMBER ": 60212191,"LINE_ID ": 142741593,"LINE_NUMBER ": 3,"ORDER_SOURCE_ID ": 0,"SALES_AREA ","SALES_AREA " , "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 " "SALESREP_ID": 101875802, "SALES_NAME": "谭艳兵", "ORG_ID": 179, "CUSTOMER_PRODUCTION_LINE": "null", "CUSTOMER_ID": 3595, "PAYMENT_TERM_ID": 1003, "TERMS" CUSTOMER_TY PE ":"R ","ORGANIZATION_ID ": 365,"SHIP_SITE_USE_ID ": 175067,"BILL_SITE_USE_ID ": 175065,"SHIPPING_METHOD_CODE ":"자동차 운전 ","CUSTOMER_CLASS_CODE ":"null ","CUSTOMER_NUMBER " : "주문서", "HEADER_FLOW_STATUS_CODE": "예약 됨", "LIN_FLOW_STATUS_CODE": "AWAITING_SHIPPING", "ITEM_NUM": "204104001900", "NJSG0001", "CUSTOMER_NAME" 30, "SCHEDULE_SHIP_DATE": "2015-08-31 23 : 59 : 00.0", "INVENTORY_ITEM_ID": 4696613, "PRICE_LIST_ID": 11837 , "PRICE_LIST": "CURRENCY_CODE": "CNY", "CONVERSION_RATE": null, "CONVERSION_TYPE_CODE": "회사", "CONVERSION_RATE_DATE": "null", "UNIT_SELLING_PRICE": 32.8 "SUBINVENTORY_CODE": "C52", "SUBINVENTORY_NAME": "C52 : 南京 分 仓", "SHIPMENT_PRIORITY": "null", "SHIPPING_INSTRUCTIONS": "YTNNJWJR150831006", "SHIPMENT_PRIORITY_CODE": "null", "FREIGHT_CARRIER_CODE"远方 物流 ","CUSTOMER_SITE_CODE ":"175067 ","CUSTOMER_PROVINCE ":"江苏省 ","CUSTOMER_CITY ":"南京市 ","시 ":"南京市 ","ADDRESS1 ":"金箔 路 购物 广场 ","ADDRESS2 ":"江宁 区 东山镇 金箔 路 999 号주소 ","ADDRESS3 ":"null ","ADDRESS4 ":"null ","POSTAL_CODE ":"210000 ","FIRST_NAME ":"null ","LAST_NAME ":"銘 雨花 ","COUNTRY_CODE " : "null", "PHONE_NUMBER": "null", "SITE_PARAMETER": " 19453912, "ORDER_NUMBER": 60212191, "LINE_ID": 142741574 "18951709189"}, { "DEPT_NAME": "SALES_AREA": "苏皖", "OBU": "남경", "HEADER_ID" , "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 ":"2015- 08-31 15:34:25.0 ","PAYMENT_TERM_ID ": 1003,"TERMS ":"60 일 ","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": "null" , "CUSTOMER_NUMBER": "NJSG0001", "CUSTOMER_NAME": "苏 果 超市 有限公司", "ORDER_CATEGORY_CODE": "ORDER", "HEADER_FLOW_STATUS_CODE": "예약 됨", "LIN_FLOW_STATUS_CODE": "AWAITING_SHIPPING", "ITEM_NUM" ORDERED_QUANTITY ": 16,"SCHEDULE_SHIP_DATE ":"2015-08-31 23 : 59 : 00.0 ","INVENTORY_ITEM_ID ": 2148603,"204104001400 ","ORDER_QUANTITY_UOM ":"EA ","UNIT_OF_MEASURE " PRICE_LIST_ID ": 11837,"PRICE_LIST ":"CURRENCY_CODE ":"CNY ","CONVERSION_RATE ": null,"CONVERSION_TYPE_CODE ":"회사 ","CONVERSION_RATE_DATE ":"null " UNIT_SELLING_PRICE ": 42.08,"SUBINVENTORY_CODE ":"C52 ","SUBINVENTORY_NAME ":"C52 : "null", "SHIPPING_INSTRUCTIONS": "YTNNJWJR150831006", "SHIPMENT_PRIORITY_CODE": "null", "FREIGHT_CARRIER_CODE": "远方 物流", "CUSTOMER_SITE_CODE": "175067", "CUSTOMER_PROVINCE" : "江苏 省", "CUSTOMER_CITY": "南京市", "도시": "南京市", "ADDRESS1": "金箔 路 购物 广场", "ADDRESS2": "江宁 区 东山镇 金箔 路 999 号"null", "ADDRESS4": "null", "POSTAL_CODE": "210000", "FIRST_NAME": "null", "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 "OBEP", "OBU": "南京", "HEADER_ID": 19453912, "ORDER_NUMBER": 60212191, "LINE_ID": 142741585, "{DEPT_NAME" "LINE_NUMBER": 2, "ORDER_SOURCE_ID": 0, "NAME": "联机", "ORDER_TYPE_ID": 1199, "ORDER_TYPE": "REQUEST_DATE": "2015-08-31"2015-08-31 15 : 02 : 50.0", "LAST_UPDATE_DATE": "2015-08-31 15 : 02 : 30.0", "ORDERED_DATE": 2015-08-31: 02 : 41.0 ","PRICING_DATE " -08-31 15 : 34 : 26.0 ","PAYMENT_TERM_ID ": 1003,"TERMS ":"60 일 ","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 ":"null ","CUSTOMER_NUMBER ":"NJSG0001 ","CUSTOMER_NAME ":"苏果 超市 有限公司 ","ORDER_CATEGORY_CODE ":"주문 ","HEADER_FLOW_STATUS_CODE ":"예약 됨 ","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.0" , "INVENTORY_ITEM_ID": 4526768, "PRICE_LIST_ID": 11837, "PRICE_LIST": "남경 分公司 苏 果CURRENCY_CODE ":"CNY ","CONVERSION_RATE ": null,"CONVERSION_TYPE_CODE ":"회사 ","CONVERSION_RATE_DATE ":"null ","UNIT_SELLING_PRICE ": 48,"SUBINVENTORY_CODE ":"C52 ","SUBINVENTORY_NAME ":"C52 : 南京 分 仓 ","SHIPMENT_PRIORITY ":"null ","SHIPPING_INSTRUCTIONS ":"YTNNJWJR150831006 ","SHIPMENT_PRIORITY_CODE ":"null ","FREIGHT_CARRIER_CODE ":"远方 物流 ","CUSTOMER_SITE_CODE ":"175067 " , "CUSTOMER_PROVINCE": "江苏 省", "CUSTOMER_CITY": "南京市", "도시": "南京市", "ADDRESS1": "金箔 路 购物 广场", "ADDRESS2": "江宁 区 东山镇 金 盤 路"null", "ADDRESS4": "null", "POSTAL_CODE": "210000", "FIRST_NAME": "null", "LAST_NAME": "銘 雨花", 999 号 (地下 一 层 部分 地上 ","ADDRESS3 " "COUNTRY_CODE": "null", "PHONE_NUMBER": "null", "SITE_COUNTRY_CODE": "86", "SITE_PHONE_NUMBER": "52190235", "TO_ORGANIZATION_ID": null, "ATTRIBUTE12": "null", "CUSTOMER_CONTACT" "樊 雨花 18951709189"}]}; 행 1, 열 3] com.fasterxml.jackson.core.JsonParser._constructError (JsonParser.java:1486)에서 com.fasterxml.jackson.core.base.ParserMinimalBase._reportError에서 (ParserMinimalBase.java:518 com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddName (ReaderBasedJsonParser.java:1340에서 com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar (ParserMinimalBase.java:447 AT) ) )에서 에서 com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize (BeanDeserializer.java:136)에서 (ReaderBasedJsonParser.java:618) 17,451,515,com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose OrderInfoClient.main에서 com.fasterxml.jackson.databind.ObjectMapper.readValue (ObjectMapper.java:2576)에서 (ObjectMapper.java:3560) (OrderInfoClient.java : 32)
작동하지 않는 Java 클래스를 추가하십시오. –
여기를 참조하십시오 http://www.jsonschema2pojo.org –