[英]Convert Notes field to JsonJavaArray
在我的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
有人可以解释我在做什么吗?
您应该使用JsonParser从String对象创建JSON对象,例如
JsonJavaObject objJson = (JsonJavaObject) JsonParser.fromJson(JsonJavaFactory.instanceEx, codeString);
可以在此处找到更多示例:
https://www.programcreek.com/java-api-examples/?api=com.ibm.commons.util.io.json.JsonParser
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.