【问题标题】:How to show the "paste Json class" in visual studio 2012 when clicking on Paste Special?单击“选择性粘贴”时,如何在 Visual Studio 2012 中显示“粘贴 Json 类”?
【发布时间】:2013-09-02 19:32:49
【问题描述】:

我正在尝试使用 vs 2012 中过去的特殊功能,以便为我的 Json 数据生成 c# 类。 我从 Nuget 的 NewtonSoft 下载了 Json.New,然后添加了一个新的 .cs 类,将我的 json 数据复制到剪贴板,但是当我转到 Edit-> Paste Special --> 我只能看到:Paste XML As Classes only the Paste Json 作为类功能未显示。有什么建议? 提前谢谢你

这是我得到的,请注意我已经安装了 Newtonsoft.Json:


(来源:indevcogroup.com

【问题讨论】:

    标签: c# json visual-studio-2012 json.net


    【解决方案1】:

    我创建了一个新项目,安装了 Newtonsoft.Json 并添加了一个类。

    如果您打开了类文件,请复制您的 Json 数据并选择编辑 -> 选择性粘贴,您将看到两个选项:

    如果您打开了其他类型的文件(例如 app.config),您只会看到“将 JSON 粘贴为类”(并且它是灰色的)

    不过,它看起来确实有点不稳定 - 有时我必须重新复制数据才能显示出来。

    尝试 a) 重新复制您的数据 b) 玩弄您打开的窗口 c) 重新安装扩展程序

    【讨论】:

    • 问题是当我单击选择性粘贴时,我得到将 XML 粘贴为没有 Json 的类。请检查我添加的链接。谢谢
    • 是的,我做到了,但它没有用。是否有任何其他软件可以用来获取我的 JSON 数据,然后将其缓存在我的应用程序中?我的目标是在我的 Windows 8 应用程序中应用本地数据缓存
    【解决方案2】:

    在类文件的代码中选择编辑>选择性粘贴菜单时,请确保您的类文件所在的 Visual Studio 项目的“目标框架”设置为:

    .NET Framework 3.5+ 用于“将 JSON 粘贴为类”

    .NET Framework 4.5+ 用于“将 XML 粘贴为类”

    否则这些选项不会出现。

    “目标框架”设置位于 项目属性 > 应用程序下。

    【讨论】:

      【解决方案3】:

      您需要安装 http://www.microsoft.com/en-au/download/details.aspx?id=41532 才能让选项出现在选择性粘贴下。

      【讨论】:

      • 如果链接将来失效,下载指向“ASP.NET and Web Tools 2013.1 for Visual Studio 2012”
      【解决方案4】:

      我遇到了同样的问题,发现剪贴板中应该有有效的 JSON 文本。

      使其工作的步骤:

      1. 为您的 VS (Visual Studio) 版本安装 Web Essentials。 Web Essentials Download page
      2. 在 VS 中创建空类文件。
      3. 将有效的 JSON 文本复制到剪贴板。
      4. 您现在将在编辑 -> 选择性粘贴 -> 将 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; }
          }
      

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题。我从解决方案资源管理器中选择了课程,并且只获得了XML 选项。我终于把我的胡萝卜直接放在public class 的花括号里,然后导航到Edit->'Paste Special'。

        编辑:更正,即在类中生成一个类。相反,我将把我的插入点放在命名空间的某个地方。 “粘贴 JSON 类”然后生成一个公共类 Rootobject{} 和其他嵌套在剪贴板 JSON 中的公共类。

        【讨论】:

          【解决方案6】:

          尝试为 Visual Studio 安装更新 我安装了更新 v4,现在我有一个选项“将 JSON 粘贴为类”

          【讨论】:

            猜你喜欢
            • 2018-05-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多