小编Pod*_*rce的帖子

使用jsoncpp解析JSON字符串

我正在尝试解析用PHP编码的JSON字符串,并通过TCP发送到C++客户端.

我的JSON字符串是这样的:

{"1":{"name":"MIKE","surname":"TAYLOR"},"2":{"name":"TOM","surname":"JERRY"}}
Run Code Online (Sandbox Code Playgroud)

在C++客户端上,我使用的是jsoncpp库:

void decode()
{
    string text =     {"1":{"name":"MIKE","surname":"TAYLOR"},"2":{"name":"TOM","surname":"JERRY"}};
    Json::Value root;
    Json::Reader reader;
    bool parsingSuccessful = reader.parse( text, root );
    if ( !parsingSuccessful )
    {
        cout << "Error parsing the string" << endl;
    }
    const Json::Value mynames = root["name"];
    for ( int index = 0; index < mynames.size(); ++index )  
    {
        cout << mynames[index] << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我没有得到任何输出,甚至没有关于解析的错误(如果有的话).你能帮我理解我做错了什么吗?

c++ json jsoncpp

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

PHP,从关联多维数组中的特定$ key中获取$ value

我是PHP的新手,我面临阵列问题.假设我有一个名为$ charsarray的多维关联数组,如下所示:

[1] => ([name] => mickey [surname] => mouse)
[2] => ([name] => donald [surname] => duck)
...
[N] => (...)
Run Code Online (Sandbox Code Playgroud)

我需要提取每个条目的"姓氏"字段,以便我的代码嵌套foreach:

foreach($charsarray as $key => $value )
{
    foreach($value => $singlechar)
    {
      echo $singlechar
    }
}
Run Code Online (Sandbox Code Playgroud)

这输出了两个mickey mouse donald duck,因为它们是关联数组的值.

如果我只想提取姓氏,我可以写一个if语句来检查关键姓氏.

如果不使用if语句,是否有更好的方法?

php arrays associative-array

4
推荐指数
1
解决办法
1097
查看次数

隐式转换双精度到无符号长溢出C++

我正在使用 Clock() 函数测试基于 ctime 库的计时器。请注意,下面的代码仅用于测试目的。

#include <ctime>

unsigned long Elapsed(void);

clock_t start = 0;
clock_t stop = 0;

int main()
{
  start = std::clock();
  while(1)
   {
    sleep(1);
    cout << "Elapsed seconds: " << Elapsed() << endl;
   }
return 0;
}

unsigned long Elapsed()
{
  stop = std::clock();
  clock_t ticks = stop - start;
  double seconds = (double)ticks / CLOCKS_PER_SEC;  //CLOCK_PER_SEC = 1 milion
  return seconds;
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,当 Elapsed() 返回计算值时,我正在执行从 double 到 unsigned long 的隐式转换。32 位系统的无符号长限制是 2,147,483,647,并且在 Elapsed() 返回 2146 后出现溢出。 …

c++ integer-overflow ctime

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

标签 统计

c++ ×2

arrays ×1

associative-array ×1

ctime ×1

integer-overflow ×1

json ×1

jsoncpp ×1

php ×1