Десериализация JSON с использованием JSONConvert - не компилируется - PullRequest
0 голосов
/ 22 июля 2011

Я использую VS2008.Я ссылался на библиотеку Newtonsoft.Json (Json.Net) (v. 3.5) (просто dll ... не видел документации о том, что делать с файлами .pdb и xml).Я использую .Net 3.5 на сервере 2k3.Другие веб-методы в файле успешно используют Serialization.Json.

Нет ошибок, указанных IntelliSense ... но он не будет компилироваться.Не удалось найти переменную 'Тип или пространство имен'.(обозначается буквой 'v').

using Newtonsoft.Json;
[WebMethod(EnableSession = true)]
public string EvaluationTest(String EvalData)
{   v
   var EvalList = JsonConvert.DeserializeObject<EvaluationCollection>(EvalData);
   int rowscount = EvalList.Eval.Count;
   int firstobject = EvalList.eval.es;
}

мои уроки:

namespace MyNamespace
{
   public abstract class EvaluationCollection
   {
    public abstract OneEvaluation eval { get; set; }
    private List<OneEvaluation> _eval = new List<OneEvaluation>();

    public List<OneEvaluation> Eval = new List<OneEvaluation>();

    public EvaluationCollection()
    {
    }
   }

public class OneEvaluation
{
    private int _EvalSession = 0;
    private String _Comment = " ";
    private String _DataDate;

    public OneEvaluation()
    {
    }

    public int es        {   // EvalSession
        get { return _EvalSession; }
        set { _EvalSession = value; }
    }
    ...
   }
  }

Мне интересно ... я не правильно сослался на это?

1 Ответ

0 голосов
/ 22 июля 2011

Проблема с этим подходом ... был мой web.config.

Для тех, кто заинтересован ... У меня есть и vb, и c # на сайте - и мне нужно было добавить следующий раздел

<system.codedom>
        <compilers>
            <compiler language="c#;cs;csharp"
              extension=".cs"
              warningLevel="4"
              type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"   >
                <providerOption name="CompilerVersion" value="v3.5"/>
                <providerOption name="WarnAsError" value="false"/>
            </compiler>
        </compilers>
    </system.codedom>
...