是否可以在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使用吗?
答案 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
窗口中看到。
答案 1 :(得分:0)
JSON不是强类型对象,因此我不相信有任何可以帮助您使用IntelliSense的加载项。
您可以做的是在对象中反序列化JSON,使其成为强类型,然后您可以使用IntelliSense。
否则,为了帮助javascript,有一些插件:
Visual Studio Javascript extensions feature comparison
JSEnhancements太棒了!
另见此扩展程序:http://code.google.com/p/js-addin/
将您的脚本解析为可用于导航的对象树。