JsonProvider "Dies ist kein konstanter Ausdruck oder kein gültiger benutzerdefinierter Attributwert"

8

Gegeben der Code:

%Vor%

Die letzte Zeile gibt mir den Fehler "Dies ist kein konstanter Ausdruck oder kein gültiger benutzerdefinierter Attributwert" - was bedeutet das? Wie kann ich es bekommen, dieses JSON zu lesen?

    
Micah 21.07.2013, 11:53
quelle

2 Antworten

14

Die Zeichenfolge muss als Konstante markiert sein. Verwenden Sie dazu das [<Literal>] -Attribut . Außerdem erzeugt der Typ-Provider einen Typ und keinen Wert. Daher müssen Sie type anstelle von let :

verwenden %Vor%     
svick 21.07.2013, 12:29
quelle
0

Das JsonProvider kann als ein parametrisierter JSON-Parser angesehen werden (zuzüglich des vom Parser erzeugten Datentyps), der auf die Kompilierzeit spezialisiert ist.

Der Parameter, den Sie ihm geben (eine Zeichenkette oder ein Pfad zur JSON-Datei) definiert die Struktur der JSON-Daten - ein Schema, wenn Sie möchten. Dies ermöglicht dem Provider, einen Typ zu erstellen, der alle Eigenschaften besitzt, die Ihre JSON-Daten statisch haben sollten, und die Menge dieser Eigenschaften (zusammen mit ihren jeweiligen Typen) werden mit dem JSON-Beispiel, das Sie angeben, definiert (tatsächlich abgeleitet) der Anbieter.

Der korrekte Weg zur Verwendung von JsonProvider wird in einem der Beispiele aus der Dokumentation gezeigt:

%Vor%

Das Beispiel wurde aus hier übernommen.

    
MisterMetaphor 21.07.2013 12:28
quelle