jason を単独で Java に解析するための 2 つの Java クラスがあります。それを超えて、クラスは何にも使用されません。以下は2つのクラスです。
import java.util.ArrayList;
public class PaymentsPaid {
public ArrayList<PaidDetailAmounts> amount;
}
と
public class PaidDetailAmounts {
public Long invoiceFeeId;
public Double amountPaid;
}
ここで、文字列とオブジェクト マッパーを使用します。
"amount": [{"invoiceFeeId": 12085, "amountPaid": 100},{"invoiceFeeId": 12084, "amountPaid": 100},{"invoiceFeeId": 12086, "amountPaid": 500}]
とマッパーコード
ObjectMapper mapper = new ObjectMapper();
try {
PaymentsPaid paymentsPaidModel = mapper.readValue(httpServletRequest.getParameter("amount"), PaymentsPaid.class);
/*
Iterator<PaidDetailAmounts> iterator = paymentsPaidModel.amount.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next().invoiceFeeId);
}
*/
} catch (JsonParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
これは私の例外です:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: 認識されないフィールド "invoiceFeeId" (クラス PACKAGE_NAME.PaymentsPaid)、無視できるとマークされていません
私はこのアプローチを使用して検索機能を構築し、それが現在私のアプリケーションにあり、うまく機能しているので、私は何かをしているに違いありません。お知らせ下さい。配列でなければならないので、間違った形式のjson文字列である可能性があると思います。