---
title: "GeoJSON シリアライザ"
version: 6.0
locale: ja
source: https://docs.djangoproject.com/ja/6.0/ref/contrib/gis/serializers/
canonical: https://djangodocs.dev/ja/6.0/ref/contrib/gis/serializers/
---
# `GeoJSON` シリアライザ

GeoDjango は [GeoJSON](https://geojson.org/) フォーマット専用のシリアライザを提供します。シリアライズの詳細については [Django オブジェクトのシリアライズ](/ja/6.0/topics/serialization/) を参照してください。

`geojson` シリアライザーはデシリアライザーに相当するものがないため、データをラウンドトリップするためのものではありません。例えば、 [`loaddata`](/ja/6.0/ref/django-admin/#django-admin-loaddata) を使用して、このシリアライザーの出力を再読み込みすることはできません。出力されたデータをリロードする場合は、代わりにプレーンな [json シリアライザ](/ja/6.0/topics/serialization/#serialization-formats-json) を使用してください。

`json` シリアライザのオプションに加えて、 `geojson` シリアライザは `serializers.serialize()` によって呼び出されたときに、以下の追加オプションを受け付けます:

- `geometry_field`: GeoJSON フィーチャの `geometry` キーに使用するジオメトリフィールド名を含む文字列。これは、複数のジオメトリフィールドを持つモデルで、最初に定義されたジオメトリフィールドを使用したくない場合にのみ必要となります (デフォルトでは、最初に定義されたジオメトリフィールドが選択されます)。
- `id_field`: GeoJSONフィーチャの `id` キーに使用するフィールド名を含む文字列。デフォルトではオブジェクトの主キーが使用されます。
- `srid`: `geometry` の内容に使用する SRID。デフォルトは 4326 (WGS 84) です。

[fields](/ja/6.0/topics/serialization/#subset-of-fields) オプションは、他のすべてのシリアライザと同様に機能し、`properties` キーに存在するフィールドを制限するために使用できます。

実装例:

```
from django.core.serializers import serialize
from my_app.models import City

serialize("geojson", City.objects.all(), geometry_field="point", fields=["name"])
```

出力は以下の通りです:

```
{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "id": 1,
            "geometry": {"type": "Point", "coordinates": [-87.650175, 41.850385]},
            "properties": {"name": "Chicago"},
        }
    ],
}
```

`fields` パラメータが指定されていない場合、`geojson` シリアライザはオブジェクトの主キーを値として持つ `pk` キーを `properties` 辞書に追加します。
