当前位置:  开发笔记 > 编程语言 > 正文

帮助JSON格式

如何解决《帮助JSON格式》经验,为你挑选了1个好方法。

我正在网上使用JSON示例,如下所示.

{
  "menu": "File", 
  "commands": [ 
      {
          "title": "New", 
          "action":"CreateDoc"
      }, 
      {
          "title": "Open", 
          "action": "OpenDoc"
      }, 
      {
          "title": "Close",
          "action": "CloseDoc"
      }
   ] 
}

我尝试在两个不同的解析器中加载它,一个用C++和Python.

这是Python的追溯.

Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python2.6/json/__init__.py", line 267, in load
    parse_constant=parse_constant, **kw)
  File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.6/json/decoder.py", line 338, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

以下是jsoncpp报道的内容.

* Line 1, Column 1
  Syntax error: value, object or array expected.

我有什么问题吗?

编辑:

好的,这是一些代码.由于某些原因,现在Python的工作.除了去商店,我什么都没做.这必须是一个Python功能 - 转到商店,随机错误消失.那些Python开发人员是天才.

但到了这一点.这是C++代码.

bool CFG::CFG_Init( const char* path ) {
    bool r = reader.parse( path, root );
    if( r ) {
        return true;
    } else {
        std::cout << reader.getFormatedErrorMessages() << std::endl;
        return false;
    }
}

我试过这个'path'也是一个std :: string - 同样的事情.我正在调用这样的方法:

if( !CFG_Init("test.json") ) {
    error("Couldn't load configuration.");
}

这是课堂.

class CFG: virtual Evaluator {
    Json::Reader reader;
    public:
    Json::Value root;
    bool CFG_Init( const char* path);
    Json::Value CFG_Fetch_Raw(Json::Value section, std::string key, Json::Value defval);
    Json::Value CFG_Fetch(Json::Value section, std::string key, Json::Value defval );
};

Scott.. 11

好的,看完jsoncpp的代码后,我意识到我的错误.它希望文档为字符串,而不是文件名.



1> Scott..:

好的,看完jsoncpp的代码后,我意识到我的错误.它希望文档为字符串,而不是文件名.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有