Как показать "вставить класс Json" в visual studio 2012, нажав на "Специальная вставка"?
Я пытаюсь использовать прошлую специальную функцию в 2012 году, чтобы создать класс С# для моих данных Json.
Я скачал Json.New из NewtonSoft из Nuget, а затем добавил новый класс .cs, скопировал мои данные json в буфер обмена, но когда я захожу в Edit-> Вставить специальный → Я вижу только: Вставить XML как классы только Вставить Json, поскольку функция классов не отображается. Какие-либо предложения?
Заранее спасибо
Это то, что я получаю, и обратите внимание, что я уже установил Newtonsoft.Json:
![]()
(источник: indevcogroup.com)
Ответы
Ответ 1
Я создал новый проект, установил Newtonsoft.Json и добавил класс.
Если у вас открыт файл класса, скопируйте данные Json и выберите Edit → Paste Special, вы увидите обе опции:
![Paste Special with Json Option]()
Если у вас открыт какой-либо другой файл (например, app.config), вы увидите только "Вставить JSON как классы As" (и он неактивен)
![Paste Special - 1 option and greyed out]()
Кажется, что это немного шелушится - иногда мне приходилось переписывать данные, прежде чем они появятся.
Попробуйте a) повторить ваши данные; b) поиграть с открытыми окнами; c) переустановить расширение
Ответ 2
При выборе меню Редактировать > Вставить специальное в коде файла класса убедитесь, что проект Visual Studio, в котором находится ваш файл класса, имеет свою "Target Framework", установленную на:
.NET Framework 3.5 + для 'Вставить JSON как классы
.NET Framework 4.5 + для 'Вставить XML как классы
В противном случае эти параметры не отображаются.
Параметр "Целевая структура" находится под Свойства проектa > Приложение.
Ответ 3
Вам нужно установить http://www.microsoft.com/en-au/download/details.aspx?id=41532, чтобы получить возможность появляться в разделе "Специальная вставка".
Ответ 4
У меня была такая же проблема. Я выбирал класс из проводника решений и получал только параметр XML
. Я, наконец, положил свою морковь прямо в фигурные скобки public class
, затем перешел в Edit → "Special Special".
Изменить: Коррекция, которая генерирует класс внутри класса. Вместо этого я собираюсь помещать точку ввода в пространство имен. Затем "Paste JSON classes" генерирует открытый класс Rootobject {} и другие общедоступные классы, которые вложены в буфер обмена JSON.
Ответ 5
У меня была такая же проблема, и я обнаружил, что у вас должен быть действующий текст JSON в вашем буфере обмена.
Шаги, чтобы заставить его работать:
- Установите Web Essentials для вашей версии VS (Visual Studio). Страница загрузки веб-сайтов
- Создать пустой файл класса в VS.
- Скопируйте действующий текст JSON в буфер обмена.
- Теперь вы увидите "Вставить Json как классы" в разделе "Редактировать" → "Специальная вставка" → "Вставить Json как классы"
Пример ввода:
{
"firstName":"John",
"lastName":"Smith",
"age":25,
"address":{
"streetAddress":"21 2nd Street",
"city":"New York",
"state":"NY",
"postalCode":"10021"
},
"phoneNumber":[
{
"type":"home",
"number":"212 555-1234"
},
{
"type":"fax",
"number":"646 555-4567"
}
]
}
Пример вывода:
public class Rootobject
{
public string firstName { get; set; }
public string lastName { get; set; }
public int age { get; set; }
public Address address { get; set; }
public Phonenumber[] phoneNumber { get; set; }
}
public class Address
{
public string streetAddress { get; set; }
public string city { get; set; }
public string state { get; set; }
public string postalCode { get; set; }
}
public class Phonenumber
{
public string type { get; set; }
public string number { get; set; }
}
Ответ 6
Попробуйте установить обновление для Visual Studio
Я установил обновление v4, и теперь у меня есть опция "Вставить JSON As Classes"