多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# JSON Processor(JSON 处理器) 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/json-processor.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/json-processor.html) 译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=10027814](http://www.apache.wiki/pages/viewpage.action?pageId=10027814) 贡献者 : [那伊抹微笑](/display/~wangyangting),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina) 将 **JSON** 字符串转换为一个结构化的 **JSON** 对象。 ## Table 23. Json Options(表 23\. Json 选项) | Name(名称) | Required(必要的) | Default(默认值) | Description(描述) | | --- | --- | --- | --- | | **`field`** | **yes** | **-** | 要解析的 **field**(字段) | | **`target_field`** | **no** | **`field`** | 将已转换的结构化对象插入的 **field**(字段) | | **`add_to_root`** | **no** | **false** | 标记强制将序列化的 **json** 注入到文档的顶层。在该选项使用时,不得设置 **`target_field` **。 | 假设您提供的 **json** 处理器使用的是如下配置 :  ``` { "json" : { "field" : "string_source", "target_field" : "json_target" } } ``` 如果以下文档被处理 :  ``` { "string_source": "{\"foo\": 2000}" } ``` 在经过 json 处理器操作之后,结果如下 :  ``` { "string_source": "{\"foo\": 2000}", "json_target": { "foo": 2000 } } ``` 如果提供以下的配置,省略选项 **target_field** 设置 :  ``` { "json" : { "field" : "source_and_target" } } ``` 然后改 **json** 处理器在这个 **document**(文档)上操作 :  ``` { "source_and_target": "{\"foo\": 2000}" } ``` 结果如下 :  ``` { "source_and_target": { "foo": 2000 } } ``` 这说明,除非在 **processor**(处理器)配置中明确地命名,否则 **`target_field` **与必要的 `**field**` 配置中所提供的字段相同。