# JSON转EDN

将JSON数据转换为EDN（可扩展数据表示法）格式

> 标准页面: https://elysiatools.com/zh/tools/json-to-edn

- **分类:** Format Conversion

- **关键词:** json, edn, 转换, clojure, json转edn

## 概述

JSON转EDN工具是一个在线格式转换器，用于将JSON（JavaScript对象表示法）数据快速、准确地转换为EDN（可扩展数据表示法）格式。EDN是Clojure生态系统中常用的数据格式，此工具可帮助开发者在不同技术栈间无缝迁移数据。

## 输入项

- **JSON输入** (textarea): Enter your JSON data here...
- **缩进大小** (number): Enter indent size (0-8)

## 适用场景

- 当您需要将来自REST API的JSON数据提供给Clojure或ClojureScript应用程序使用时。
- 当您需要将现有的JSON配置文件转换为EDN格式，以便在基于Clojure的项目中加载时。
- 当您需要在JSON和EDN两种数据格式之间进行转换，以进行数据验证、测试或格式对比时。

## 工作原理

- 在“JSON输入”文本框中，粘贴或输入您需要转换的JSON数据。
- 根据需要，在“缩进大小”输入框中设置输出EDN的缩进空格数（0-8），默认为2。
- 点击转换按钮，工具将立即处理您的输入，并在结果区域生成格式化后的EDN文本。
- 您可以直接复制生成的EDN结果，或将其用于后续的开发工作。

## 使用案例

- Clojure Web开发：将前端或第三方API返回的JSON数据转换为EDN，以便在后端Clojure应用中直接使用。
- 配置迁移：将项目中的JSON配置文件（如package.json的部分内容）转换为EDN格式，整合到Clojure项目的配置系统中。
- 数据调试与测试：快速将测试用的JSON数据样本转换为EDN，用于验证Clojure数据处理逻辑的正确性。

## 常见问题

### 这个工具支持哪些JSON数据类型？

支持所有标准的JSON数据类型，包括对象、数组、字符串、数字、布尔值和null。

### 缩进大小设置为0会怎样？

设置为0时，生成的EDN将是紧凑的单行格式，没有额外的空格或换行。

### 如果我的JSON格式有错误，工具会如何处理？

工具会尝试解析输入。如果JSON格式无效，将会显示相应的错误信息，提示您检查输入数据。

### 转换过程中会丢失数据吗？

不会。工具旨在进行无损的格式转换，确保JSON中的所有数据和结构都能正确映射到EDN中。

### EDN和JSON的主要区别是什么？

EDN是Clojure的原生数据格式，支持更多数据类型（如关键字、符号），并且是可扩展的。JSON则更通用，是Web数据交换的标准。

## 相关工具

- [BSON转换器](https://elysiatools.com/zh/tools/bson-converter): 将数据编码/解码为BSON（Binary JSON）格式
- [CSON转JSON](https://elysiatools.com/zh/tools/cson-to-json): 将CSON（CoffeeScript对象表示法）数据转换为JSON格式
- [EDN转JSON](https://elysiatools.com/zh/tools/edn-to-json): 将EDN（可扩展数据表示法）数据转换为JSON格式
- [GeoJSON转GPX转换器](https://elysiatools.com/zh/tools/geojson-to-gpx): 将GeoJSON格式转换为GPX（GPS交换格式）格式
- [GeoJSON转KML转换器](https://elysiatools.com/zh/tools/geojson-to-kml): 将GeoJSON格式转换为KML（Keyhole标记语言）格式
- [GeoJSON转OSM转换器](https://elysiatools.com/zh/tools/geojson-to-osm): 将GeoJSON格式转换为OpenStreetMap (OSM) XML格式
- [GPX转GeoJSON转换器](https://elysiatools.com/zh/tools/gpx-to-geojson): 将GPX（GPS交换格式）转换为GeoJSON格式
- [GraphQL转JSON](https://elysiatools.com/zh/tools/graphql-to-json): 将GraphQL查询或响应数据转换为JSON格式

## 示例

- [JSON 示例](https://elysiatools.com/zh/samples/json): JSON（JavaScript 对象表示法）格式示例，从简单到复杂结构
- [Terraform Plan JSON 样本](https://elysiatools.com/zh/samples/terraform-plan-json-samples): 用于依赖可视化和变更审查的 Terraform plan JSON 文件样本，贴近 terraform show -json 输出结构
- [聊天记录 JSON 示例](https://elysiatools.com/zh/samples/chat-transcript-json): 多角色聊天记录的 JSON 示例
- [富媒体 JSON 示例](https://elysiatools.com/zh/samples/rich-media-json): 常见富文本编辑器（TipTap、Quill、Slate）的 JSON 示例

## 相关内容

- [JSON 规范化与数据交换工作流](https://elysiatools.com/zh/hubs/json-convert): 把结构化来源转换为经过核对的 JSON 表示，再按下游需求导出为表格、配置、文档、API、XML、CSON、EDN、BSON 或 UBJSON。
