Articles of JSON

如何在lua中parsingjson?

有没有任何轻量级的,最好是纯粹的lua,lua库来parsingjson的内容? 基本上我想用一个lua模块来扩充我的ngnix,它需要从我从Redis获得的json对象中获得一些信息。 该对象如下所示: { "data": { "user": { "username": "username", "type": "TYPE" } }, "passport": { "user": "uuid" }, } 在我的lua代码中,我需要validationdata.user.username存在。 然后我可以让nginx继续redirect。 任何人都可以给我一个例子,我怎么能实现呢?

在PHP 7.0中致命错误:未捕获错误:调用未定义的函数json_encode()

我的服务器configuration: [root@server ~]# php -v PHP 7.0.22 (cli) (built: Aug 7 2017 16:18:27) ( NTS ) [root@server ~]# nginx -v nginx version: nginx/1.10.2 操作系统:CentOS 7.3.1611(核心) 我的YUM安装细节: [root@server ~]# yum list installed | grep php php70u-cli.x86_64 7.0.22-2.ius.centos7 @ius php70u-common.x86_64 7.0.22-2.ius.centos7 @ius php70u-fpm.x86_64 7.0.22-2.ius.centos7 @ius php70u-fpm-nginx.noarch 7.0.22-2.ius.centos7 @ius php70u-mysqlnd.x86_64 7.0.22-2.ius.centos7 @ius php70u-pdo.x86_64 7.0.22-2.ius.centos7 @ius 这里是调查的细节:我尝试在test.php中执行以下代码: 这里是我的系统细节:PHP版本=> 7.0.22操作系统:我想在test2.php中执行以下代码: […]

NGINX日志filter$ upstream_response_time JSON ELK“ – ”parsefailure

我把我的NGINX日志格式化为JSON: log_format le_json '{ "@timestamp": "$time_iso8601", ' '"remote_addr": "$remote_addr", ' '"remote_user": "$remote_user", ' '"body_bytes_sent": "$body_bytes_sent", ' '"status": $status, ' '"request": "$request", ' '"request_method": "$request_method", ' '"response_time": $upstream_response_time, ' '"http_referrer": "$http_referer", ' '"http_user_agent": "$http_user_agent" }'; 我的日志被filebeat拾取并发送到具有以下configuration的Logstash: input { beats { port => 5044 codec => "json" } } filter { geoip { database => "C:/GeoLiteCity.dat" source […]

尝试显示大型JSON时,Nginx Net :: ERR_INCOMPLETE_CHUNKED_ENCODING

您好,我正在尝试使用php显示大JSON,但是当JSON文件很大,我得到Net::ERR_INCOMPLETE_CHUNKED_ENCODING并看到 “/ var / lib / nginx / fastcgi / 1/00/0000000001”失败(13:权限被拒绝) 在我的nginx日志中。 我的nginx服务器从www-data用户启动。 ps aux | grep nginx root 1 0.0 0.0 95592 8872 ? Ss 12:08 0:00 nginx: master process nginx -g daemon off; www-data 7 0.0 0.0 95592 3868 ? S 12:08 0:00 nginx: worker process www-data 8 0.0 0.0 95592 3868 ? […]

parsingnginx日志的工具

我打算将我的请求日志从mongo迁移到nginx日志。 有一些parsing器/工具,我可以用它来parsing日志,并转换为也许JSON为了使他们看起来更有意义,使我可以查询他们? 当前的mongo日志格式: { "_id" : ObjectId("4f911646e4b00a6b7b103c77"), "mUpdatedAt" : NumberLong("1334908486975"), "playerError" : "", "playerState" : "paused", "requestUuid" : "d2c8c8aa-aeab-4f87-8db0-ed699ba19249" } Nginx的日志格式: 115.249.242.17 – – [18/May/2012:05:40:49 +0000] "GET /flashlayer?videoId=NaN&duration=26.091&videoLoadTime=216&videoBitRate=1708 HTTP/1.1" 200 86 "-" "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0" 我能够在mongoDB查询,我也想为nginx日志相同,我需要一个简单的parsing器来读取nginx日志,并转换为可能JSON,CSV或将其放入configuration单元,HDFS。 谢谢

为nginx中的所有json文件启用content-type application / json

目前我正在面对一些关于在NGINX中启用内容types的问题。 你可以在nginx.conf下面看到默认的内容types是application/octet-stream 。 我在NGINX中configuration了5个虚拟主机,我想用Content-Type application / json来提供所有的json文件。 我添加了“application / json json” 在mime.type文件中,并重新启动nginx服务,但仍然当我访问任何json文件它来自内容typesapplication / octet-stream。 还有什么我需要做的作为应用程序/ JSON服务的JSON文件? ### curl -v http://www.ajay.com/abc/def/ghi/jkl/mno.json * Hostname was NOT found in DNS cache * Trying xx.xx.xx.xx… * Connected to www.ajay.com (xx.xx.xx.xx) port 80 (#0) > GET abc/def/ghi/jkl/mno.json HTTP/1.1 > User-Agent: curl/7.36.0 > Host: www.ajay.com > Accept: */* < HTTP/1.1 200 […]

如何在proxy_pass中设置内容types?

在一个网站上,stream量通过httpstream向位置/实例,我们需要使用SSL和https保证stream量安全。 当redirect到https时,请求内容types是“text / xml”,但实际上应该是“application / json”。 我们是否应该在代理标题中明确设置“application / json”? 我们已经在httpconfiguration中尝试了add_header Content-type“application / json”,这没有什么区别。 我们做错了什么? Httpconfiguration: location /instance { proxy_pass https://instancehost:9443/instance; proxy_redirect http://localhost.com https://localhost.com; proxy_set_header X-xmgr-proxy-domain http://localhost.com:80; proxy_set_header X-xmgr-proxy /instance; proxy_set_header Access-Control-Allow-Origin "*"; proxy_set_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"; proxy_ssl_certificate /data/nginx/certs/abc.crt; proxy_ssl_certificate_key /data/nginx/certs/abc.key; proxy_ssl_trusted_certificate /etc/pki/tls/certs/abc-bundle.crt; proxy_ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2; proxy_hide_header Content-Type; add_header Content-type "application/json" […]

Golang JSON编码器和nginx代理缓冲

我正在使用具有JSON API的golang的web应用程序后端,它位于nginx 1.8.0的后面。 Nginxconfiguration: server { listen 80; server_name someserver.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:8080; # The go server handles the chunking, so with proxy_buffering on it messes up the response proxy_buffering off; } } 我处理路线如下: router.GET("/api/cases", checkAuth(api.GetAllCases)) 我的checkAuth中间件看起来像: func checkAuth(h httprouter.Handle) httprouter.Handle { return func(w http.ResponseWriter, r *http.Request, […]

我做错了,还是在networking/ HTTP的错误?

我正在使用Nginx / Phusion Passenger服务器下的Ruby Net :: HTTP,尝试将JSONstring发送到服务器。 看来,我的POST,只有当作为'application / json'发送,过早closures会话到服务器。 IE: 在服务器端: 127.0.0.1 – – [03/Sep/2013 07:47:14] "POST /path/to/submit " 200 45 0.0013 pid=12893 thr=47197563169088 file=ext/nginx/HelperAgent.cpp:933 time=2013-09-03 07:47:14.830 ]: Uncaught exception in PassengerServer client thread: exception: Cannot read response from backend process: Connection reset by peer (104) backtrace: in 'void Client::forwardResponse(Passenger::SessionPtr&, Passenger::FileDescriptor&, const Passenger::AnalyticsLogPtr&)' (HelperAgent.cpp:698) […]

nginx以hexlogging$ request_body

我正在尝试将请求的请求正文logging到我的api,并且nginx将所有引号(以及一些其他字符,如空格和制表符)转换为hex字符。 这是我的日志格式 log_format postdata '{"ts": "$time_iso8601", "status": $status, "req": "$uri", "meth": "$request_method", "body": "$request_body"}'; 这是什么被logging {"ts": "2015-05-20T15:31:11-07:00", "status": 400, "req": "/v2/track", "meth": "POST", "body": {\x22id\x22:\x22user id\x22}} 我怎样才能防止这样的结果日志行 {"ts": "2015-05-20T15:31:11-07:00", "status": 400, "req": "/v2/track", "meth": "POST", "body": {"id":"user id"}}