2017-02-18 2 views
0
package questionnaire 

import (
    "encoding/json" 
) 

type Items []Item 

type CreateData struct { 
    Items []Item 
} 

type Item struct { 
    Id  enter code herestring `json:"id"  required:"true"` 
    CompCd string `json:"compCd" required:"true"` 
    OrgCd  string `json:"orgCd"` 
    QstnId string `json:"qstnId" required:"true"` 
    QstnIdSeq string `json:"qstnIdSeq" required:"true"` 
    CustId string `json:"custId"` 
    AnsDts string `json:"ansDts" required:"true"` 
    AnsRout string `json:"ansRout" required:"true"` 
    QCd01  string `json:"qCd01"` 
    QKey01 string `json:"qKey01"` 
    QStc01 string `json:"qStc01"` 
    QCat01 string `json:"qCat01"` 
    Pont01 string `json:"pont01"` 
    PCat01 string `json:"pCat01"` 
    Comt01 string `json:"comt01"` 
    QCd02  string `json:"qCd02"` 
    QKey02 string `json:"qKey02"` 
    QStc02 string `json:"qStc02"` 
    QCat02 string `json:"qCat02"` 
    Pont02 string `json:"pont02"` 
    PCat02 string `json:"pCat02"` 
    Comt02 string `json:"comt02"` 
    . 
    . 
    . 
    QCd50  string `json:"qCd50"` 
    QKey50 string `json:"qKey50"` 
    QStc50 string `json:"qStc50"` 
    QCat50 string `json:"qCat50"` 
    Pont50 string `json:"pont50"` 
    PCat50 string `json:"pCat50"` 
    Comt50 string `json:"comt50" 
} 

kompaktieren Ich bin Neuling. Ich lerne gerade gehen Sprache ein paar Tage vorher .. Mein Problem: Wie dieses Item struct Block zu verdichten. Wenn ich von QCd01 nach QCd50 schreibe, kann dieser Code aber so schlecht laufen! Sorry, ich bin nicht gut in Englisch.wie man Json in Struct Golang

+2

Wenn sie alle Strings sind, warum nicht eine Karte verwenden? – JimB

+0

danke bro, aber wenn ich map verwende, was wird es werden? –

+0

myMap: = make (map [string] string) Auschecken https://blog.golang.org/go-maps-in-action und https://gobyexample.com/maps – reticentroot

Antwort

0

Ich habe den Code in Ihren Kommentar kopiert und eingefügt. Es fehlte die Endung }, um die JSON-Zeichenfolge zu beenden. Außerdem benötigen Sie eine Struktur, um die items Karte zu binden. Hier ist ein funktionierender Spielplatz Link.

EDIT: Ich wusste nicht, dass es mehr als ein "Elemente", die ich hätte den Pluralnamen angenommen hätte. Hier ist ein aktualisierter Spielplatz Link, der dafür sorgt.

https://play.golang.org/p/5T2C6KrVOD

+0

danke für die antwort, aber wenn ich überprüfen möchten validate 'json:" id "erforderlich:" true "', wie kann ich es überprüfen? –

+0

Alles, was erforderlich ist, müssten Sie nur manuell überprüfen, wenn es in der Karte vorhanden ist. Ich habe meinen Spielplatz Link mit einem solchen Check aktualisiert. – RayfenWindspear

+0

ich ändere myMap mit vielen "items". Wenn ich json.Unmashal (strJson, data) verwende, wurden die Daten zu map []. Ich möchte Schleife durch "Elemente" Schlüssel dann json.Mashal (Daten), um die Datei zu schreiben. Spielplatz: https: //play.golang.org/p/1hglmTXxBZ –