小编Tim*_*ter的帖子

使用Newtonsoft将JSON反序列化为.NET对象(或者LINQ to JSON可能?)

我知道有一些关于Newtonsoft的帖子,所以希望这不是一个重复......我正在尝试将Kazaa的API返回的JSON数据转换成某种形状的好对象

WebClient client = new WebClient();
Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album");
StreamReader reader = new StreamReader(stream);

List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString());

foreach (string item in list)
{
    Console.WriteLine(item);
}

//Console.WriteLine(reader.ReadLine());
stream.Close();
Run Code Online (Sandbox Code Playgroud)

那个JsonConvert系列只是我最近尝试过的一个......我不太了解它并且希望通过问你们来消除一些步法.我原本试图将它转换为字典或其他东西......实际上,我只需要在那里获取一些值,因此根据文档来判断,也许Newtonsoft的LINQ to JSON可能是更好的选择?思考/链接?

以下是JSON返回数据的示例:

{
  "page": 1,
  "total_pages": 8,
  "total_entries": 74,
  "q": "muse",
  "albums": [
    {
      "name": "Muse",
      "permalink": "Muse",
      "cover_image_url": "http://image.kazaa.com/images/69/01672812 1569/Yaron_Herman_Trio/Muse/Yaron_Herman_Trio-Muse_1.jpg",
      "id": 93098,
      "artist_name": "Yaron Herman Trio"
    },
    {
      "name": "Muse",
      "permalink": "Muse",
      "cover_image_url": "htt p://image.kazaa.com/images/54/888880301154/Candy_Lo/Muse/Candy_Lo-Muse_1.jpg",
      "i d": 102702,
      "artist_name": "\u76e7\u5de7\u97f3"
    },
    {
      "name": "Absolution",
      "permalink": " Absolution",
      "cover_image_url": …
Run Code Online (Sandbox Code Playgroud)

c# linq json json.net deserialization

310
推荐指数
8
解决办法
65万
查看次数

C++,复制设置为矢量

我需要复制std::setstd::vector:

std::set <double> input;
input.insert(5);
input.insert(6);

std::vector <double> output;
std::copy(input.begin(), input.end(), output.begin()); //Error: Vector iterator not dereferencable
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?

c++ copy stdvector stdset

130
推荐指数
4
解决办法
13万
查看次数

连续执行单元测试(而不是并行执行)

我正在尝试对我编写的WCF主机管理引擎进行单元测试.该引擎基本上基于配置动态创建ServiceHost实例.这允许我们动态地重新配置哪些服务可用,而无需在添加新服务或删除旧服务时将其全部关闭并重新启动它们.

但是,由于ServiceHost的工作方式,我在单元测试此主机管理引擎时遇到了困难.如果已为特定端点创建,打开和尚未关闭ServiceHost,则无法创建同一端点的另一个ServiceHost,从而导致异常.由于现代单元测试平台并行化了他们的测试执行,我没有有效的方法对这段代码进行单元测试.

我使用过xUnit.NET,希望由于它的可扩展性,我可以找到一种方法来强制它以串行方式运行测试.但是,我没有运气.我希望SO上的某个人遇到类似的问题并且知道如何让单元测试连续运行.

注意:ServiceHost是一个由Microsoft编写的WCF类.我没有能力改变它的行为.仅托管每个服务端点也是正确的行为......但是,它不是特别有利于单元测试.

.net c# unit-testing xunit.net

74
推荐指数
8
解决办法
4万
查看次数

Thrift,Protocol Buffers,JSON,EJB等的性能比较?

我们正在研究传输/协议解决方案,并且即将进行各种性能测试,所以我想如果他们已经这样做了,我会向社区查询:

有没有人为简单的echo服务进行服务器性能测试,以及比较Linux上的EJB3,Thrift和Protocol Buffers的各种消息大小的序列化/反序列化?

主要语言是Java,C/C++,Python和PHP.

更新:我对此仍然很感兴趣,如果有人做了进一步的基准测试,请告诉我.此外,非常有趣的基准测试显示压缩JSON执行与Thrift/Protocol Buffers相似/更好,因此我也将JSON抛入此问题.

python java performance thrift protocol-buffers

68
推荐指数
5
解决办法
6万
查看次数

控制台应用程序的"退出"

我正在寻找一种方法来在手动关闭控制台应用程序时触发一段代码(用户关闭窗口).一直在尝试:

AppDomain.CurrentDomain.ProcessExit +=
    new EventHandler(CurrentDomain_ProcessExit);
Run Code Online (Sandbox Code Playgroud)

但如果手动关闭,上述操作无效.

有没有办法使用.Net调用或我是否需要导入内核DLL并以这种方式执行?

.net c#

66
推荐指数
2
解决办法
9万
查看次数

C问题:(const void*)vs(void*)

const void *和之间有什么区别void *?在什么情况下可以将void指针强制转换为const void指针?

c pointers const

31
推荐指数
2
解决办法
4万
查看次数

在HTTP响应中使用"X -..."标头是否安全?

我必须在我的HTTP响应中传递元信息,所以我想出我可以使用响应头,例如"X-MyData:123456".这样安全吗?我的意思是,客户端代理有可能删除此标头?

谢谢!

http http-headers

24
推荐指数
3
解决办法
2万
查看次数

使用boost :: program_options时,如何设置参数的名称?

使用时boost::program_options,如何设置参数名称boost::program_options::value<>()

#include <iostream>
#include <boost/program_options.hpp>

int main()
{
  boost::program_options::options_description desc;

  desc.add_options()
    ("width", boost::program_options::value<int>(),
     "Give width");

  std::cout << desc << std::endl;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码给出:

  --width arg           Give width
Run Code Online (Sandbox Code Playgroud)

我想要的是arg用更具描述性的名称替换名称NUM:

  --width NUM           Give width
Run Code Online (Sandbox Code Playgroud)

c++ boost boost-program-options

22
推荐指数
3
解决办法
6281
查看次数

删除git中的空提交

我刚刚将一个项目从Mercurial迁移到Git.当你添加标签时,Mercurial会添加空提交,所以我最终在Git中提交了我要删除的空提交.

如何从Git中删除空提交(其中没有任何文件的提交)?

谢谢.

git version-control git-commit

22
推荐指数
2
解决办法
1万
查看次数

功能级链接(VC++中的/ Gy开关) - 有什么用?

在大型VS解决方案(200个VC项目)中使用此开关可以获得什么?

据我所知,这主要影响产生的二进制文件的大小; 但除了较小的二进制文件之外,FLL还能帮助减少项目之间的依赖关系吗?

FLL通常如何影响构建时间?

我也很欣赏有关VC中FLL的有根据的解释.MSDN的解释非常简短.

c++ optimization linker visual-c++

21
推荐指数
1
解决办法
9682
查看次数