Incollare JSON o XML come classi
In Visual Studio è possibile copiare testo da file JSON o XML e quindi incollare il testo come classi nel codice C# o Visual Basic . A tale scopo, selezionare Modifica>incolla speciale e scegliere Incolla JSON come classi o Incolla XML come classi.
Suggerimento
Se non viene visualizzata l'opzione Incolla speciale nel menu Modifica, assicurarsi di avere almeno uno dei carichi di lavoro seguenti installati: ASP.NET e sviluppo Web, sviluppo di Azure o sviluppo desktop .NET. Assicurarsi quindi di selezionare il file di programma per l'app. Ad esempio, per un'app C#, selezionare il file Program.cs in Esplora soluzioni.
JSON (JavaScript Object Notation) e XML (eXtensible Markup Language) sono simili in quanto vengono usati entrambi per archiviare e trasportare i dati. JSON, tuttavia, è meno dettagliato e può usare matrici.
Esempi
Prima di usare il comando Incolla JSON come classi o incolla XML come classi in Visual Studio, creare un segnaposto per il testo. Per un'app C#, è possibile usare una dichiarazione di spazio dei nomi vuota per farlo, come illustrato nello screenshot seguente:
Incollare quindi il testo JSON o XML all'interno delle parentesi graffe.
JSON
Ecco un esempio di testo JSON:
{
"Colors": [
{
"numberKey": 1,
"isPrimary": true,
"listColors": ["Red", "Blue", "Yellow"]
},
{
"numberKey": 2,
"isPrimary": false,
"listColors": ["Purple", "Green", "Orange"]
} ]
}
Ecco uno screenshot che mostra come Visual Studio converte il testo JSON in classi:
XML
Ecco un esempio di testo XML:
<root>
<color>
<id>01</id>
<name>red</name>
<type>primary</type>
</color>
<color>
<id>02</id>
<name>green</name>
<type>secondary</type>
</color>
</root>
Ecco un esempio di codice che mostra come Visual Studio converte il testo XML in classi:
using System;
namespace PasteDemo
{
// NOTE: Generated code may require at least .NET Framework 4.5 or .NET Core/Standard 2.0.
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class root
{
private rootColor[] colorField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("color")]
public rootColor[] color
{
get
{
return this.colorField;
}
set
{
this.colorField = value;
}
}
}
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class rootColor
{
private byte idField;
private string nameField;
private string typeField;
/// <remarks/>
public byte id
{
get
{
return this.idField;
}
set
{
this.idField = value;
}
}
/// <remarks/>
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
/// <remarks/>
public string type
{
get
{
return this.typeField;
}
set
{
this.typeField = value;
}
}
}
}
Vedi anche
- Funzionalità dell'editor del codice
- Suggerimenti introduttivi nella guida alla produttività di Visual Studio per sviluppatori C#
- Guida alla produttività per Visual Studio