我对Python中的JSON有点困惑.对我来说,它看起来像是一本字典,因此我试图这样做:
{
"glossary":
{
"title": "example glossary",
"GlossDiv":
{
"title": "S",
"GlossList":
{
"GlossEntry":
{
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef":
{
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我打印dict(json)时,它会出错.
如何将此字符串转换为结构,然后调用json ["title"]以获取"示例词汇表"?
如果我有那个代码:
try:
some_method()
except Exception, e:
Run Code Online (Sandbox Code Playgroud)
如何获得此Exception值(我的意思是字符串表示)?
谢谢
我有这段代码:
for element in json[referenceElement].keys():
Run Code Online (Sandbox Code Playgroud)
当我运行该代码时,我收到此错误:
TypeError:不可用类型:'dict'
导致该错误的原因是什么,我该怎么做才能解决?
我正在尝试在Mac OS X 10.9上安装wxWidgets.它已经安装,但我遇到了这里描述的问题.有人建议添加ENV.append_to_cflags "-stdlib=libc++".我做了,但我无法重新编译代码.
$ brew install wxmac
Warning: wxmac-3.0.0 already installed
$ brew edit wxmac
=> ok, modifications done, now I want to recompile and reinstall
$ brew uninstall wxmac
Uninstalling /usr/local/Cellar/wxmac/3.0.0...
$ brew install wxmac
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/wxmac- 3.0.0.mavericks.bottle.2.tar.gz
Already downloaded: /Library/Caches/Homebrew/wxmac-3.0.0.mavericks.bottle.2.tar.gz
==> Pouring wxmac-3.0.0.mavericks.bottle.2.tar.gz
/usr/local/Cellar/wxmac/3.0.0: 775 files, 41M
Run Code Online (Sandbox Code Playgroud)
我如何强制自制程序重新编译?
我有一个连接到数据库的Python脚本.显然,我需要密码.我需要把它隐藏在某个地方.
我的问题是这个代码存储在一个文件夹中,每个有权访问服务器的人都可以查看.所以,如果我把这个密码写在一个文件中加密,那么在代码中就会出现发现它的关键,人们可以把它弄清楚.
所以,如果有人有想法,请
如果这个答案看起来与本网站的其他问题相似,我很抱歉,但我找不到我需要的东西.
我有这个代码:
$.ajax({
url: '../../cgi-bin/executeQuery',
type: 'GET',
data: ({siid:5185,of:"xmlWithColID"}),
dataType: 'xml',
success: function(xmlR){
try{
$.ajax({
url: '../../cgi-bin/authList.py',
type: 'GET',
data: ({xmlToFormat:xmlR,service:"paperList"}),
dataType: 'xml',
success: function(data){
try{
displayResult(data,loadXMLDoc("js/authList/paperTableStyle.xsl"),"divPaperTable");
}catch(e){
console.log(e.message);
}
},
complete: function(XMLHttpRequest, textStatus){
$('#divMakingAuthorList').addClass('secondary');
$('#divMakingAuthorList').hide();
}
});
}catch(e){
console.log(e.message);
}
}
});
Run Code Online (Sandbox Code Playgroud)
这给了我FF中的以下错误:"对WrappedNative原型对象的非法操作".
当我删除代码的"成功"部分时,错误消息仍然存在.之后,我删除了"完整"的parte,错误信息也在那里.但是,当我删除以下代码行时:data:({xmlToFormat:xmlR,service:"paperList"}),消息消失了.
但我不明白原因.是否可以将"xml"作为ajax事件中的数据发送到我的CGI?
谢谢
我想写一个JS库并像这样处理它:
var c1 = Module.Class();
c1.init();
var c1 = Module.Class();
c2.init();
Run Code Online (Sandbox Code Playgroud)
当然,c1和c2不能共享相同的变量.我想我知道如何用对象做这个,它会是:
var Module = {
Class = {
init = function(){
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
但问题是,如果我以这种方式编写,我不能拥有多个Class实例.所以我试图用功能实现同样的功能,但我认为我做得不对.
(function() {
var Module;
window.Module = Module = {};
function Class( i ) {
//How can "this" refer to Class instead of Module?
this.initial = i;
}
Class.prototype.execute = function() {
...
}
//Public
Module.Class = Class;
})();
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我没有任何线索,但我接受其他方式的建议来创建这个模块.我不知道它是否也相关,但我在这个库中使用jQuery.
我有一个python脚本,我想知道请求是来自Web还是命令行.我怎样才能做到这一点?
我将dataType设置为'text',因为我不想让Jquery自动解析我的JSON.我的代码如下:
var membId = '5';
$('#submitNewDescription').live('click',function(){
//An ajax request is made to update the DB
$.ajax({
url: '../../cgi-bin/qualification.py',
type: 'POST',
data: ({newDescription:$('#newDescription').val(),id:membId}),
dataType: 'text',
cache: 'false',
success: function(data){
json = JSON.parse(data);
console.log(data);
console.log(json);
}
});
});
Run Code Online (Sandbox Code Playgroud)
它在两个console.log命令中返回字符串:{"error":["ORA-01031权限不足"]}.这意味着解析不起作用,因为它不返回JavaScript对象.JSONLint对我说这是一个有效的JSON.
任何人都知道发生了什么?
编辑
我可以设置'json',这不是问题.问题是JSON.parse和$ .parseJSON应该可以工作.由于它们不是,我将'dataType'更改为'json',但返回相同的字符串.我不知道发生了什么.
我有一个程序,可以在特定目录中创建文件.当这些文件准备好后,我运行Latex来生成.pdf文件.所以,我的问题是,我如何使用这个目录更改作为触发器来调用Latex,使用shell脚本或python脚本?
最好的祝福
这对我来说没有意义,因为代码非常简单,文档中存在"FieldStorage".
#!/usr/bin/env python
print 'Content-type: text/html'
print
import cgi
def Main():
form = cgi.FieldStorage()
print '<html>'
print '<body>'
print 'ola'
print '</body>'
print '</html>'
if __name__ == '__main__':
Main()
Run Code Online (Sandbox Code Playgroud) 我正在写一个jQuery插件,但我遇到了一个问题:
我的HTML元素
<a id="trac"></a>
Run Code Online (Sandbox Code Playgroud)
我的JS调用插件
$('#trac').myplugin();
Run Code Online (Sandbox Code Playgroud)
我的插件
$.fn.myplugin = function(){
var $root;
return this.each(function(){
$root = $(this);
$root.live('click',function(){
console.log('here');
});
});
}
Run Code Online (Sandbox Code Playgroud)
碰巧"这里"永远不会显示.但如果我用...
$('#trac').live('click',function(){
console.log('here');
});
Run Code Online (Sandbox Code Playgroud)
...显示"此处".我不明白为什么会发生这种情况,因为$ root和$('#trac')是完全相同的jQuery对象.
我该如何解决?
谢谢!
我的页面中有一些"选择框",我不想让用户选择任何选项,但第一个(请不要问我为什么).我无法使用'readonly'属性更改'input',我也无法删除选项.我很抱歉这些限制,但必须这样.
我试过这个:
$('select').attr('disabled',true);
Run Code Online (Sandbox Code Playgroud)
但碰巧我不想"松散"这个价值.我有一个使用这些值的ajax调用,当我禁用它时,值'不存在'了.
我也试过这个:
$('select').click(function(){
return false;
});
Run Code Online (Sandbox Code Playgroud)
但没有成功.