2

Is it possible to get IntelliSense in Visual Studio 2010 working for JSON data? I know there is a workaround for third party scripts which has come in very handy.

In asp.net mvc 3, I serialize data in a controller and then pass it in the view model. I access it like this:

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

Inside of this JSONData is a complex object graph with several levels of nesting. I may want to get a list of happy campers like this:

var HappyCampers = JSONData.Foo.Bar.HappyCampers;

Is there a way for IntelliSense to show that Foo is available to JSONData, that Bar is available to Foo, and that HappyCampers is available to Bar?

4

2 回答 2

2

在 JSON 编辑器中为 JSON Schema引用Intellisense :

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

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

一旦您将JSON数据文件指向相应的模式,您将能够在Output窗口中看到是否JSON editor未能加载关联的模式。

在此处输入图像描述

于 2014-04-11T09:39:45.393 回答
0

JSON 不是强类型对象,因此我认为没有任何插件可以帮助您使用 IntelliSense。

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

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

Visual Studio Javascript 扩展功能比较

JSEnhancements 太棒了!

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

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

于 2012-10-24T19:58:03.813 回答