# 导入和导出JSON

## Content

你可以使用 [fromJSON 方法](/spreadjs/help/api/v19.0/classes/GC.Spread.Sheets.Workbook#fromJSON) 和 [toJSON 方法](/spreadjs/help/api/v19.0/classes/GC.Spread.Sheets.Workbook#toJSON) 从 JSON 对象导入数据或将数据导出为 JSON 对象。
从 JSON 对象导入数据时，你可以为自定义数据导入设置多个反序列化选项。这些选项包括 `ignoreStyle`（忽略样式）、`ignoreFormula`（忽略公式）、`frozenColumnsAsRowHeaders`（将冻结列作为行标题）、`frozenRowsAsColumnHeaders`（将冻结行作为列标题）以及 `doNotRecalculateAfterLoad`（加载后不重新计算）。
将数据导出为 JSON 对象时，你可以为导出自定义数据设置多个序列化选项。这些选项包括 `includeBindingSource`（包含绑定源）、`ignoreStyle`（忽略样式）、`ignoreFormula`（忽略公式）、`saveAsView`（另存为视图）、`rowHeadersAsFrozenColumns`（将行标题作为冻结列）、`columnHeadersAsFrozenRows`（将列标题作为冻结行）、`includeAutoMergedCells`（包含自动合并的单元格）以及 `saveR1C1Formula`（保存 R1C1 公式）。

> 早期版本的SpreadJS无法加载使用SpreadJS 3.20142.11或更高版本创建的JSON文件。

本示例导出到JSON对象并从JSON对象导入。

```JavaScript
workbook.fromJSON(jsonData, {
    ignoreFormula: true,
    ignoreStyle: true,
    frozenColumnsAsRowHeaders: false,
    frozenRowsAsColumnHeaders: false,
    doNotRecalculateAfterLoad: true,
});

workbook.toJSON({
    ignoreFormula: true,
    ignoreStyle: true,
    rowHeadersAsFrozenColumns: true,
    columnHeadersAsFrozenRows: true,
});
```

此Visual Studio示例加载 ssjson 文件。

```Web.config
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, visit http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
  <system.webServer>
<staticContent>
  <mimeMap fileExtension=".ssjson" mimeType="text/plain" />
    </staticContent>
  </system.webServer>
</configuration>
```

```JavaScript
<!DOCTYPE html>
<html lang="en">
<head>
<title>TestLoad ssjson</title>
    <!--SpreadJS Widgets CSS-->
<link href="./css/gc.spread.sheets.13.0.0.css" rel="stylesheet" type="text/css" />
         
<!--jQuery Reference-->
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>            
    <!--SpreadJS Widgets JavaScript-->
<script src="./scripts/gc.spread.sheets.all.13.0.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function () {                    
        var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"),{sheetCount:3});
        $.ajax({
            url: "TestFile.ssjson",
            datatype: "json",
            success: function (data) {
                //here to load ssjson file.
                    spread.suspendPaint();
                spread.fromJSON(JSON.parse(data));
                spread.resumePaint();
            },
            error: function (ex) {
                alert('Exception:' + ex);
            }
        });
    });
</script>
</head>
<body>
<div class="container">
    <div class="header">
        <h2>Sample for load .ssjson file</h2>
        </div>
        <div id="ss" style="width: 100%; height: 430px; border: 1px solid gray;"></div>
    </div>
</body>
</html>
```