超级小问题时间!我试图在google appengine上使用simplejson.在我的机器上的终端中,我安装了simplejson并正常工作.但是当我尝试在appengine上运行的脚本中导入它时,我得到一个错误,说没有这样的库存在.如果在我的机器上打开交互式控制台(从http:// localhost:8080/_ah/admin上的链接)并输入"import simplejson",我得到:
回溯(最近一次调用最后一次):文件"/ home/chris/google_appengine/google/appengine/ext/admin/init .py",第210行,在post exec(compiled_code,globals())文件"",第1行,在ImportError中:没有名为simplejson的模块
有什么想法吗?
我有这样的方法,并希望以Json的形式返回,但它写道Posts对象不是Json可序列化的:S
def show_results_async(text):
query = { '$or':[{'title':{'$regex':text}},{'author':{'$regex':text}} ]}
posts = Posts.objects(__raw__=(query))
return jsonify(result = posts)
Run Code Online (Sandbox Code Playgroud) 我使用python 3.4.3设置virtualenv并尝试从json.decoder导入JSONDecodeError
from json.decoder import JSONDecodeError (I think its valid in python3 ? But why not working for me ?)
Run Code Online (Sandbox Code Playgroud)
但它没有用.只有下面工作:
from simplejson import JSONDecodeError
Run Code Online (Sandbox Code Playgroud)
我怎么做的?
virtualenv venv --no-site-packages -p python3
pip install ipython
ipython
from json.decoder import JSONDecodeError
ImportError: cannot import name 'JSONDecodeError'
Run Code Online (Sandbox Code Playgroud)
我在python中解码这个json时遇到了一些麻烦.
从basehttpserver我回来了
[
{
"changed_aspect": "media",
"object": "geography",
"object_id": "1306",
"subscription_id": 1326,
"time": 1300570688
}
]
Run Code Online (Sandbox Code Playgroud)
我正在使用simplejsondecoder
data = simplejson.loads(s)
Run Code Online (Sandbox Code Playgroud)
但是当我查看数据的长度时,它会返回1,而不是像我期待的那样为json对象返回5.
这是所有代码,问题在于其他地方.
class httpserver(BaseHTTPServer.BaseHTTPRequestHandler):
def do_POST(self):
self.data_string = self.rfile.read(int(self.headers['Content-Length']))
self.send_response(200)
self.end_headers()
data = simplejson.loads(self.data_string)
print len(data)
return
Run Code Online (Sandbox Code Playgroud) 我有...
entity = simplejson.dumps({"a":unicode(datetime.datetime.utcnow())})
Run Code Online (Sandbox Code Playgroud)
如何将日期时间(转换为unicode)再次转换回日期时间?
所以我可以做点什么......
entity2 = simplejson.loads(entity)
#your answer here..
add5 = entity2["a"] + datetime.timedelta(minutes=5)
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试将数据从网页发送到django视图,以保存为序列化的json到数据库.如果可能的话,我想避免使用django的QueryDict对象,只需用simplejson读取请求,展平并保存到数据库中.发送数据的最佳方法是什么这么简单,json可以压扁它?
var languages = {};
languages['english'] = ['mark', 'james'];
languages['spanish'] = ['amy', 'john'];
$.ajax({
type: 'POST',
url: '/save/',
data: languages,
dataType: 'json'
});
Run Code Online (Sandbox Code Playgroud)
.
if request.is_ajax() and request.method == 'POST':
for key in request.POST:
print key
valuelist = request.POST.getlist(key)
print valuelist
Run Code Online (Sandbox Code Playgroud) 我使用SimpleJSON的Unity3d.我想补充int一下JSONClass.
例如,我需要json: {"attr" : 4}
JSONClass cl = new JSONClass();
Run Code Online (Sandbox Code Playgroud)
我试过这个:
cl["attr"].AsInt = 4;
Run Code Online (Sandbox Code Playgroud)
还有这个:
cl["attr"] = new JSONData(4);
Run Code Online (Sandbox Code Playgroud)
还有其他任何情况.反正我拿到{"attr" : "4"}哪里4是字符串.
我该如何添加int呢?
我想在camelCase中发布JSON,并按照这里的说明操作:
https://github.com/restsharp/RestSharp/wiki/Deserialization#overriding-jsonserializationstrategy
public class CamelCaseSerializerStrategy : PocoJsonSerializerStrategy
{
protected override string MapClrMemberNameToJsonFieldName(string clrPropertyName)
{
return char.ToLower(clrPropertyName[0]) + clrPropertyName.Substring(1);
}
}
Run Code Online (Sandbox Code Playgroud)
然后我用这段代码创建一个新的客户端:
var client = new RestClient(_baseUrl);
SimpleJson.CurrentJsonSerializerStrategy = new CamelCaseSerializerStrategy();
Run Code Online (Sandbox Code Playgroud)
但是,在发出请求时,串行器未激活.RestSharp文档遍布整个地方,并且大部分都是错误的.查看源代码(RestRequest.AddBody),看起来根本不使用SerializerStrategy.
我一直在寻找一种在客户端级别进行此更改的方法,或者在不需要修改每个请求的地方.
我见过这个博客 - 也许这是唯一的方法.如果您只能在请求级别更改序列化策略,这似乎是RestSharp的一大步.
我在 Ubuntu 14.04 上工作,我的机器上有多个 Python 版本(它们包括 python2.7 和 python3.4)。几天前,我安装simplejson在我的系统上。我不记得我是怎么做到的,但我想它一定与pip install simplejson. 但是,现在当我尝试安装任何 python 包时,一个奇怪的问题开始出现。例如,刚才我尝试安装Tkinterusingsudo pip3.4 install Tkinter并抛出以下错误:
Traceback (most recent call last):
File "/usr/local/bin/pip3.4", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip3.4')()
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 351, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2363, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2088, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 61, in <module>
from pip.vcs import git, mercurial, subversion, bazaar …Run Code Online (Sandbox Code Playgroud) 有两个实例运行 uwgsi 和 nginx 服务器。每个都托管一个 Flask 应用程序。两者都在 Python 2.7.3 路径上运行。其中一台服务器针对“import simplejson”语句引发 ImportError。两台服务器上的解释器都将毫无怨言地接受此导入声明。
这是应用程序A的来源:
1 from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash, views
2 import sys
3 print sys.version
4 print sys.path
5
6 import os
7 import functools
8 import urllib,urllib2
9 import simplejson
10 from datetime import datetime, timedelta
Run Code Online (Sandbox Code Playgroud)
以及应用程序B的来源:
1 from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash, views
2
3 import sys
4 print sys.version
5 print sys.path …Run Code Online (Sandbox Code Playgroud) simplejson ×10
python ×7
json ×6
ajax ×1
c# ×1
camelcasing ×1
datetime ×1
django ×1
flask ×1
mongoengine ×1
pip ×1
python-2.7 ×1
python-3.x ×1
restsharp ×1
unicode ×1