适用于JSON的IntelliSense?

时间:2012-10-24 19:48:20

标签: javascript visual-studio-2010 intellisense

是否可以在Visual Studio 2010中使用IntelliSense来处理JSON数据?我知道有第三方脚本的解决方法非常方便。

在asp.net mvc 3中,我在控制器中序列化数据,然后在视图模型中传递它。我这样访问它:

var JSONData = @( Html.Raw( Model.JSON ) );

JSONData内部是一个复杂的对象图,具有多个嵌套级别。我可能希望获得这样的快乐露营者名单:

var HappyCampers = JSONData.Foo.Bar.HappyCampers;

智能感知是否有办法显示Foo可用于JSONData,该条可供Foo使用,而HappyCampers可供Bar使用吗?

2 个答案:

答案 0 :(得分:2)

引用Intellisense for JSON Schema in the JSON Editor

  

当您在编辑器中的JSON中打开Visual Studio文件时,可以使用JSON数据文件中的“$ schema”属性在JSON文件中指定架构。向项目添加新的JSON文件时,架构下拉框将显示<No Schema Selected>,但您可以选择之前使用的架构。

     

您还可以使用架构文本框指定JSON文件的架构,而不是使用文件中的$schema属性,它可以更快。但是,如果您需要将此相同的JSON文件传递给另一个用户,或者在另一个项目中使用它,则架构文本框中指定的架构将不会粘连。您必须使用$schema属性才能让JSON编辑器在当前项目之外进行选择。

     

JSON数据文件指向相应的架构后,如果Output无法加载相关架构,您将能够在JSON editor窗口中看到。

     

enter image description here

答案 1 :(得分:0)

JSON不是强类型对象,因此我不相信有任何可以帮助您使用IntelliSense的加载项。

您可以做的是在对象中反序列化JSON,使其成为强类型,然后您可以使用IntelliSense。

否则,为了帮助javascript,有一些插件:

Visual Studio Javascript extensions feature comparison

JSEnhancements太棒了!

另见此扩展程序:http://code.google.com/p/js-addin/

将您的脚本解析为可用于导航的对象树。