繁体   English   中英

将Notes字段转换为JsonJavaArray

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM