# How to insert a new item in a json array using Java API

**URL:** <https://discuss.elastic.co/t/how-to-insert-a-new-item-in-a-json-array-using-java-api/50522>\
**Category:** Elasticsearch\
**Created:** [May 20, 2016, 6:25am UTC](https://discuss.elastic.co/t/how-to-insert-a-new-item-in-a-json-array-using-java-api/50522 "2016-05-20T06:25:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![adellarocca](https://avatars.discourse-cdn.com/v4/letter/a/9fc29f/32.png) [@adellarocca](https://discuss.elastic.co/u/adellarocca)\
**Post date:** [May 20, 2016, 6:25am UTC](https://discuss.elastic.co/t/how-to-insert-a-new-item-in-a-json-array-using-java-api/50522/1 "2016-05-20T06:25:25Z")

</div>

Hi at all!  
I have documents with following structure

```
{ "field1" : "value1",
 "field2" : "value2",
"field3" : [
        {
              "ff1" : "vv1",
              "ff2" : "vv2"
        },
        {
              "dd1" : "v1",
              "dd2" : "v2"
        }
   ]
}

```

How can I append a new item in field3 array using Java API?

I've tried with XContentBuilder and with inline scripting but I receive a serialization error:

```
Map<String,String> newObject = new HashMap<String,String>(); 
		newObject.put("dd3", "v3"); 
		newObject.put("dd4", "v4"); 
		String script = "ctx._source.types += newobject";
		Map<String, Object> params = ImmutableMap.of("newObject", (Object)newObject);
		client.prepareUpdate("prova_index", "event", "1").
		setScript(new Script(script, ScriptType.INLINE, null, params)).execute().actionGet();

```

`Caused by: ScriptException[failed to run inline script [ctx._source.types += newobject] using lang [groovy]]; nested: NotSerializableExceptionWrapper[missing_property_exception: No such property: newobject for class: 72749a629170e2c3c1a7aa938eda0c6ea8ccd8db]`

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:50pm UTC](https://discuss.elastic.co/t/how-to-insert-a-new-item-in-a-json-array-using-java-api/50522/2 "2017-07-05T22:50:15Z")

</div>


