xref: /aosp_15_r20/external/spdx-tools/json/writer.go (revision ba677afa8f67bb56cbc794f4d0e378e0da058e16)
1*ba677afaSXin Li// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
2*ba677afaSXin Li
3*ba677afaSXin Lipackage spdx_json
4*ba677afaSXin Li
5*ba677afaSXin Liimport (
6*ba677afaSXin Li	"encoding/json"
7*ba677afaSXin Li	"github.com/spdx/tools-golang/spdx/v2_3"
8*ba677afaSXin Li	"io"
9*ba677afaSXin Li
10*ba677afaSXin Li	"github.com/spdx/tools-golang/spdx/v2_2"
11*ba677afaSXin Li)
12*ba677afaSXin Li
13*ba677afaSXin Li// Save2_2 takes an SPDX Document (version 2.2) and an io.Writer, and writes the document to the writer in JSON format.
14*ba677afaSXin Lifunc Save2_2(doc *v2_2.Document, w io.Writer) error {
15*ba677afaSXin Li	buf, err := json.Marshal(doc)
16*ba677afaSXin Li	if err != nil {
17*ba677afaSXin Li		return err
18*ba677afaSXin Li	}
19*ba677afaSXin Li
20*ba677afaSXin Li	_, err = w.Write(buf)
21*ba677afaSXin Li	if err != nil {
22*ba677afaSXin Li		return err
23*ba677afaSXin Li	}
24*ba677afaSXin Li
25*ba677afaSXin Li	return nil
26*ba677afaSXin Li}
27*ba677afaSXin Li
28*ba677afaSXin Li// Save2_3 takes an SPDX Document (version 2.2) and an io.Writer, and writes the document to the writer in JSON format.
29*ba677afaSXin Lifunc Save2_3(doc *v2_3.Document, w io.Writer) error {
30*ba677afaSXin Li	buf, err := json.Marshal(doc)
31*ba677afaSXin Li	if err != nil {
32*ba677afaSXin Li		return err
33*ba677afaSXin Li	}
34*ba677afaSXin Li
35*ba677afaSXin Li	_, err = w.Write(buf)
36*ba677afaSXin Li	if err != nil {
37*ba677afaSXin Li		return err
38*ba677afaSXin Li	}
39*ba677afaSXin Li
40*ba677afaSXin Li	return nil
41*ba677afaSXin Li}
42