我正在尝试使用VS 2012中的过去特性,为我的Json数据生成C#类。我从Nuget下载了NewtonSoft的Json.New,然后添加了一个新的.cs类,将我的json数据复制到剪贴板中,但是当我进入“编辑”->“特殊粘贴” ->“我只能看到:仅粘贴XML作为类”,而不显示将Json作为类粘贴的功能。有什么建议吗?
请注意,我已经安装了Newtonsoft.Json,以下是我得到的内容:
(来源: indevcogroup.com)
我正在尝试使用VS 2012中的过去特性,为我的Json数据生成C#类。我从Nuget下载了NewtonSoft的Json.New,然后添加了一个新的.cs类,将我的json数据复制到剪贴板中,但是当我进入“编辑”->“特殊粘贴” ->“我只能看到:仅粘贴XML作为类”,而不显示将Json作为类粘贴的功能。有什么建议吗?
请注意,我已经安装了Newtonsoft.Json,以下是我得到的内容:
(来源: indevcogroup.com)
我创建了一个新项目,安装了Newtonsoft.Json并添加了一个类。
如果您已经打开了类文件,请复制Json数据并选择编辑->粘贴特殊,您将看到两个选项:
如果您打开了其他类型的文件(例如app.config),则仅会看到“粘贴JSON作为类”(并且被灰色禁用)
这似乎有点不稳定 - 有时需要重新复制数据才会显示出来。
尝试a)重新复制您的数据b)调整您打开的窗口c)重新安装该扩展程序。
'粘贴JSON作为类'需设置 .NET Framework 3.5+
'粘贴XML作为类'需设置 .NET Framework 4.5+
否则,这些选项将不会出现。您需要安装http://www.microsoft.com/zh-cn/download/details.aspx?id=41532,才能在“特殊粘贴”选项下看到该选项。
我曾经遇到同样的问题,后来发现你需要在剪贴板中拥有有效的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; }
}
尝试安装Visual Studio的更新 我安装了v4更新,现在有一个选项“将JSON粘贴为类”