我正在尝试使用vs 2012中的过去特殊功能,以便为我的Json数据生成c#类。 我从Nuget从NewtonSoft下载了Json.New,然后添加了一个新的.cs类,将我的json数据复制到剪贴板,但是当我转到Edit->选择性粘贴 - >我只能看到:粘贴XML作为类只显示粘贴Json作为类功能。有什么建议? 提前谢谢你
这是我得到的,请注意我已经安装了Newtonsoft.Json:
答案 0 :(得分:21)
我创建了一个新项目,安装了Newtonsoft.Json并添加了一个类。
如果您打开了您的班级文件,请复制您的Json数据并选择编辑 - >选择性粘贴您将看到两个选项:
如果你打开了其他类型的文件(例如app.config),你只能看到"将JSON粘贴为As Classes" (而且它是灰色的)
虽然看起来有点不稳定 - 有时候我必须在数据显示之前重新复制数据。
尝试a)重新复制您的数据b)玩弄你打开的窗口c)重新安装扩展程序
答案 1 :(得分:11)
选择修改>在类文件的代码中粘贴特殊菜单,确保您的类文件所在的Visual Studio项目的“目标框架”设置为:
.NET Framework 3.5 +用于“粘贴 JSON 作为类”
.NET Framework 4.5 +用于“粘贴 XML 作为类”
否则这些选项不会出现。
“目标框架”设置位于项目属性>应用强>
答案 2 :(得分:4)
您需要安装http://www.microsoft.com/en-au/download/details.aspx?id=41532才能在“选择性粘贴”下显示该选项。
答案 3 :(得分:2)
我有同样的问题。我从解决方案资源管理器中选择了该类,并且只获取了XML
选项。我终于将胡萝卜直接放在public class
的花括号中,然后导航到编辑 - >'粘贴特殊'。
编辑:更正,在类中生成一个类。相反,我将把插入点放在命名空间中的某个位置。 '粘贴JSON类'然后生成一个公共类Rootobject {}和嵌套在剪贴板JSON中的其他公共类。
答案 4 :(得分:1)
我遇到了同样的问题,发现你的剪贴板中应该有有效的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; }
}
答案 5 :(得分:0)
尝试为Visual Studio安装更新 我安装了更新v4,现在我有一个选项“将JSON粘贴为类”