В моем приложении XPages я использую класс com.ibm.commons.util.io.json.JsonJavaObject для получения списка контактных данных (список телефонов).
Объект, который я хочу привязать к повторяющемуся элементу управления, который будет отображать все контактные данные контакта.
Я хочу сохранить значения для JsonJavaArray в поле Notes, и когда я отображаю документ через XPage, я хочу снова прочитать его, поэтому мне нужно преобразовать его.
Вот как json сохраняется в поле:
{
"locations": [
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
},
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
},
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
},
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
},
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
}
]
}
Вот как я читаю поле, преобразовываю его в jsonobject и читаю массив:
String codeString = doc.getItemValueString(fieldName);
JsonJavaObject objJson = new JsonJavaObject(codeString);
JsonJavaArray arrJson = objJson.getAsArray("locations");
Я получаю следующую ошибку:
Ошибка в com.ibm.commons.util.io.json.JsonJavaObject, строка 56:
java.lang.ArrayIndexOutOfBoundsException: индекс массива вне диапазона: 1
Может кто-нибудь объяснить мне, что я делаю не так?