无法找到用于 System.Json.JsonObject 类型的默认构造函数

2023-12-22

我正在尝试返回一些推特数据,但我无法完成我的任务。

using System.Collections.Generic;
using System.Json;
using System.Linq;
using System.Net.Http;
using System.Web.Mvc;
using Demo.Models;

namespace Demo.Controllers
{
    public class HomeController : Controller
    {
    public ActionResult Index()
            {
                var model = new List<Tweets>();
                var client = new HttpClient();
                var task =
                    client.GetAsync("http://search.twitter.com/search.json?q=dave").ContinueWith((taskWithMessage) =>
                        {
                            var response = taskWithMessage.Result;
                            var jsonTask = response.Content.ReadAsAsync<JsonObject>();
                            jsonTask.Wait(); //THIS IS WHERE THE FAULT IS

                            var jsonObject = jsonTask.Result;
                            model.AddRange(
                                (from JsonObject jo in jsonObject["results"]
                                 select new Tweets
                                     {
                                         Name = jo["from_user"].ToString(),
                                         Text = jo["text"].ToString()
                                     }
                                ));
                        });

                task.Wait();
                return View(model);
            }
    }
}

当我执行上面的代码时,它失败并显示错误消息

无法找到用于类型的默认构造函数 系统.Json.JsonObject

我在使用 .NET 4 和 4.5 时遇到了相同的错误消息

任何人都可以解释一下我需要做什么吗?

其余部分包含完整的堆栈跟踪

[JsonSerializationException: Unable to find a default constructor to use for type System.Json.JsonObject. Path 'completed_in', line 1, position 16.]  
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewDictionary(JsonReader reader, JsonDictionaryContract contract) +234
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) +810   


    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) +184
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) +793
Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) +1143
Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType) +46
System.Net.Http.Formatting.<>c_DisplayClass8.b_6() +950 System.Threading.Tasks.TaskHelpers.RunSynchronously(Func`1 func, CancellationToken cancellationToken) +143


    [AggregateException: One or more errors occurred.]
System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) +3548265
System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) +10487717
System.Threading.Tasks.Task.Wait() +10
Demo.Controllers.<>c_DisplayClass3.b_1(Task1 taskWithMessage) in c:\Users\Dave\Documents\Visual Studio 2012\Projects\Demo\Demo\Controllers\HomeController.cs:22
System.Threading.Tasks.ContinuationTaskFromResultTask1.InnerInvoke() +80 System.Threading.Tasks.Task.Execute() +49


     [AggregateException: One or more errors occurred.]
System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) +3548265
System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) +10487717
System.Threading.Tasks.Task.Wait() +10
Demo.Controllers.HomeController.Index() in c:\Users\Dave\Documents\Visual Studio 2012\Projects\Demo\Demo\Controllers\HomeController.cs:35
lambda_method(Closure , ControllerBase , Object[] ) +101
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters) +211
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) +27
System.Web.Mvc.Async.<>c_DisplayClass42.b_41() +28 System.Web.Mvc.Async.<>c_DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) +10 System.Web.Mvc.Async.WrappedAsyncResult1.End() +57 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +48
System.Web.Mvc.Async.<>c_DisplayClass39.b_33() +57 System.Web.Mvc.Async.<>c_DisplayClass4f.b_49() +223 System.Web.Mvc.Async.<>c_DisplayClass37.b_36(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResult1.End() +57 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +48
System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +24 System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +102 System.Web.Mvc.Async.WrappedAsyncResult1.End() +57 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +43
System.Web.Mvc.<>c_DisplayClass1d.b_18(IAsyncResult asyncResult) +14
System.Web.Mvc.Async.<>c_DisplayClass4.b_3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult1.End() +62
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +57 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult1.End() +62
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +47     System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.<>c_DisplayClass8.b_3(IAsyncResult asyncResult) +25
System.Web.Mvc.Async.<>c_DisplayClass4.b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +47 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9     System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9629708 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

这是因为 JsonObject 没有默认构造函数。看here http://msdn.microsoft.com/en-us/library/system.json.jsonobject%28v=VS.95%29.aspx.

我建议使用 Newtonsoft.Json(在 nuget 中又称为“JSON.NET”)而不是 System.Json。

using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Web.Mvc;
using Newtonsoft.Json.Linq;
using PayPoint.Models;
using System.Threading.Tasks;

namespace PayPoint.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            var model = new List<Tweets>();
            const string webUri = "http://search.twitter.com/search.json?q=dave";

            var client = new HttpClient();
            var tweetTask = client.GetAsync(webUri);
            Task<JObject> jsonTask = tweetTask.Result.Content.ReadAsAsync<JObject>();
            var results = jsonTask.Result;

            model.AddRange((from b in results["results"]
                     select new Tweets()
                         {
                             Name = b["from_user"].ToString(),
                             Text = b["text"].ToString()
                         }).ToList());

            return View(model);
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法找到用于 System.Json.JsonObject 类型的默认构造函数 的相关文章

  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • .NET Core 2.1 Swashbuckle - 按区域对控制器进行分组

    我的情况比较简单 我有一个非常大的 NET Core 2 1 MVC WebApi 分为几个区域 代表我系统的不同模块 我使用 Swagger SwashBuckle 效果非常好 我的路由就像 area controller action
  • 从 Java 运行“who -m”命令会产生空结果

    我正在尝试从 Java 中查找当前登录的用户名 Process p try p Runtime getRuntime exec who m p waitFor BufferedReader reader new BufferedReader
  • Perl 中的命名参数

    我正在尝试在 Perl 中使用命名参数 我一直在使用http perldesignpatterns com NamedArguments http web archive org web 20160920193219 http perlde
  • LazyEvaluation的性能优势到底从何而来?

    在过去的几天里 我研究了惰性评估 主要是在性能方面 想知道LazyEvalutaion 的性能优势由此显现 我阅读各种文章并不清楚 但其中很少包括 惰性求值有什么优点 https stackoverflow com questions 21
  • Scrapy 中的内存泄漏

    我编写了以下代码来抓取电子邮件地址 用于测试目的 import scrapy from scrapy contrib spiders import CrawlSpider Rule from scrapy contrib linkextra
  • 如何在jquery中创建调用事件的快捷键?

    如何创建在 jQuery 中调用事件的快捷键 就像我按Alt A然后调用按钮单击函数 但不是如果Alt V A 我不知道这是否是最好的解决方案 但也许有帮助 警告 这不是经过实战考验的解决方案 var pressedKeys documen
  • 具有可选扩展的通用打字稿

    如何使用扩展进行输入检查 使通用 ApiResBook 类型与可选道具一起使用 Sandbox https www typescriptlang org play index html code PTAEFkEMEsDtQC4E8AOBTA
  • onClick 在 Activity 上调用的片段内

    我现在正在将一些东西封装到一个片段中 并遇到了一个很难用谷歌搜索的问题 我的片段内部有一些带有 onClick 属性的按钮 但它们是在 Activity 上调用的 而不是在 Android 系统的片段上调用的 这使得封装有点笨拙 有没有办法
  • WordPress:获取附加图像的高度和宽度

    在 WordPress 中 我从帖子中抓取附加图像并将它们显示在无序列表中 它效果很好 除了我现在需要获取图像height and width 就像我得到的一样src 这是我的代码 PHP post thumbnail id get pos
  • 具有不同返回类型的变量可调用对象

    我手头的问题是我的方法one two three four 有不同的返回类型说 A B C D我需要生成可变数量的线程 每个方法一个 具体取决于用例 这意味着我想一次调用方法的子集 现在 我使用cachedThreadPool提交这些可调用
  • 如何在CSS中仅停止悬停指针事件

    我有一个交互式背景 它使用 css 来更改悬停时的不透明度 在其之上 绝对定位 是一个文本层 为了让背景即使在顶部的文本下也能做出反应 我添加了 css指针事件 无到包含文本的 div 这很有效 但如果我仍然能够保留突出显示文本的能力 那就
  • 框架 argparse - 检查是否设置了标志

    我想以这种方式使用我的脚本 python script py x 现在我使用此命令运行它 python script py x y My code parser ArgumentParser parser add argument x x
  • 如何在Rails模型中获取当前用户

    我在我的应用程序中使用 Rails 5 2 并使用 sidekiq 来处理后台作业 class Document lt ApplicationRecord has many document jobs end class DocumentJ
  • URL 的 Bootstrap 表格式化程序

    JavaScript function LinkFormatter value row index return a href value a HTML th LINK th th DATA th JSON data https www s
  • ASPNet Core - Startup.cs 配置中的调用不明确

    ASP NET核心 net 461 我的project json 中的依赖项导致了歧义错误 我无法找到它 任何帮助表示赞赏 这与此类似question https stackoverflow com questions 38327196 a
  • Stream接口中filter()方法的实现在哪里?

    class App public static void main String args ArrayList
  • 将图像嵌入到 TreeNode 中

    如何将全尺寸图像嵌入到 TreeNode 中 目标是显示详细的日志文件 其中每个节点代表窗口标题 其子节点包含键盘日志 使用以下模式将图像添加到TreeView图像列表 ImageList treeList new ImageList tr
  • Yocto:如何删除图层而不重建所有图层

    我正在玩一个 Yocto 项目 它的conf bblayers conf将以下行归档 ADDONSLAYERS OEROOT layers meta qt5 if os path isfile OEROOT layers meta qt5
  • 如何解决自动生成的manage.py上的语法错误?

    我正在关注 Django 教程https docs djangoproject com es 1 10 intro tutorial01 https docs djangoproject com es 1 10 intro tutorial
  • 无法找到用于 System.Json.JsonObject 类型的默认构造函数

    我正在尝试返回一些推特数据 但我无法完成我的任务 using System Collections Generic using System Json using System Linq using System Net Http usin