Questions tagged «json»

JSON(JavaScript对象表示法)是一种文本数据交换格式,并且与语言无关。涉及此文本格式时,请使用此标签。请勿将本标签用于本地JAVASCRIPT对象或JAVASCRIPT对象文学。提出问题之前,请使用JSONLint(https://jsonlint.com)等JSON验证器来验证JSON。

13
YAML和JSON有什么区别?
YAML和JSON有什么区别,特别考虑以下几点? 性能(编码/解码时间) 内存消耗 表情清晰 图书馆的可用性,易用性(我更喜欢C) 我打算在嵌入式系统中使用这两个之一来存储配置文件。 有关: 我应该使用YAML还是JSON存储我的Perl数据?
733 json  yaml 

15
标准JSON API响应格式?
是否存在用于构造来自API的JSON响应的标准或最佳实践?显然,每个应用程序的数据都是不同的,因此您不必担心很多,而是“响应样板”。我的意思的例子: 成功的请求: { "success": true, "payload": { /* Application-specific data would go here. */ } } 请求失败: { "success": false, "payload": { /* Application-specific data would go here. */ }, "error": { "code": 123, "message": "An error occurred!" } }
695 json  request  response 

24
如何以类似JSON的格式打印圆形结构?
我有一个大对象,想要转换为JSON并发送。但是它具有圆形结构。我想抛弃任何存在的循环引用,并发送任何可以字符串化的内容。我怎么做? 谢谢。 var obj = { a: "foo", b: obj } 我想将obj字符串化为: {"a":"foo"}
680 javascript  json  node.js 

9
在REST API实际场景中使用PUT与PATCH方法
首先,一些定义: PUT在9.6节RFC 2616中定义: PUT方法请求将封闭的实体存储在提供的Request-URI下。如果Request-URI引用了已经存在的资源,则应将封闭的实体视为原始服务器上的资源的修改版本。如果Request-URI没有指向现有资源,并且请求用户代理能够将该URI定义为新资源,则原始服务器可以使用该URI创建资源。 PATCH在RFC 5789中定义: PATCH方法请求将在请求实体中描述的一组更改应用于由Request-URI标识的资源。 同样根据RFC 2616第9.1.2节, PUT是幂等的,而PATCH不是。 现在让我们看一个真实的例子。当我/users对数据执行POST {username: 'skwee357', email: 'skwee357@domain.com'}并服务器能够创建资源时,它将以201和资源位置(假设/users/1)响应,并且对GET的下一次调用/users/1将返回{id: 1, username: 'skwee357', email: 'skwee357@domain.com'}。 现在,让我们说我想修改我的电子邮件。电子邮件修改被视为“一组更改”,因此我应该/users/1使用“ 补丁文档 ”来进行修补。在我的情况下,它将是json文档:{email: 'skwee357@newdomain.com'}。然后,服务器返回200(假设允许)。这使我想到第一个问题: 补丁不是幂等的。它在RFC 2616和RFC 5789中是这样说的。但是,如果我发出相同的PATCH请求(使用我的新电子邮件),我将获得相同的资源状态(将我的电子邮件修改为请求的值)。为什么PATCH不那么幂等? PATCH是一个相对较新的动词(2010年3月引入RFC),用于解决“修补”或修改一组字段的问题。在引入PATCH之前,每个人都使用PUT来更新资源。但是在引入PATCH之后,我对PUT的用途感到困惑。这使我想到了第二个(也是主要的)问题: PUT和PATCH之间的真正区别是什么?我在某处读到了PUT可能用于替换特定资源下的整个实体,因此应该发送完整的实体(而不是像PATCH那样发送一组属性)。这种情况的实际实际用途是什么?您何时要替换/覆盖特定资源URI上的实体,为什么不考虑将此类操作更新/修补该实体?我在PUT上看到的唯一实际用例是在集合上发布PUT,即/users替换整个集合。引入PATCH之后,在特定实体上发布PUT毫无意义。我错了吗?
680 json  rest  http  put  http-method 

21
如何在ASP.NET中将JSON反序列化为简单的Dictionary <string,string>?
我在JSON中有一个简单的键/值列表,该列表通过POST发送回ASP.NET。例: { "key1": "value1", "key2": "value2"} 我不打算将序列化为严格类型的.NET对象 我只需要一个普通的旧Dictionary(Of String,String)或一些等效项(哈希表,Dictionary(Of String,Object),老式的StringDictionary-地狱,二维字符串数组对我来说就可以工作。 我可以使用ASP.NET 3.5和流行的Json.NET(我已经在使用它序列化到客户端)中使用的任何东西。 显然,这两个JSON库都不具有这种开箱即用的明显功能-它们完全专注于通过强契约进行基于反射的反序列化。 有任何想法吗? 局限性: 我不想实现自己的JSON解析器 尚不能使用ASP.NET 4.0 希望远离JSON不再使用的旧的ASP.NET类

30
带有JSON的杰克逊:无法识别的字段,未标记为可忽略
我需要将某个JSON字符串转换为Java对象。我正在使用Jackson进行JSON处理。我无法控制输入的JSON(我从Web服务读取)。这是我输入的JSON: {"wrapper":[{"id":"13","name":"Fred"}]} 这是一个简化的用例: private void tryReading() { String jsonStr = "{\"wrapper\"\:[{\"id\":\"13\",\"name\":\"Fred\"}]}"; ObjectMapper mapper = new ObjectMapper(); Wrapper wrapper = null; try { wrapper = mapper.readValue(jsonStr , Wrapper.class); } catch (Exception e) { e.printStackTrace(); } System.out.println("wrapper = " + wrapper); } 我的实体类是: public Class Student { private String name; private String …

29
我可以在web.config中为maxJsonLength设置无限长度吗?
我正在使用jQuery的自动完成功能。当我尝试检索超过17000条记录的列表(每条记录的长度不超过10个字符)时,它超过了长度,并引发错误: 异常信息: 异常类型:InvalidOperationException 异常消息:使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值。 我可以设置无限长度maxJsonLength的web.config?如果没有,我可以设置的最大长度是多少?

13
JSON中的多行字符串
我正在以JSON格式编写一些数据文件,并希望将一些很长的字符串值分成多行。使用python的JSON模块,无论使用\还是\n转义,我都会遇到很多错误。 JSON中是否可以包含多行字符串?主要是为了视觉舒适,所以我想我可以在编辑器中打开自动换行功能,但是我有点好奇……
655 json  string  syntax  multiline 

6
使用Python请求发布JSON
我需要将JSON从客户端发布到服务器。我正在使用Python 2.7.1和simplejson。客户端正在使用请求。服务器是CherryPy。我可以从服务器获取硬编码的JSON(代码未显示),但是当我尝试将JSON POST到服务器时,会收到“ 400 Bad Request”。 这是我的客户代码: data = {'sender': 'Alice', 'receiver': 'Bob', 'message': 'We did it!'} data_json = simplejson.dumps(data) payload = {'json_payload': data_json} r = requests.post("http://localhost:8080", data=payload) 这是服务器代码。 class Root(object): def __init__(self, content): self.content = content print self.content # this works exposed = True def GET(self): cherrypy.response.headers['Content-Type'] = 'application/json' …


11
使用Node.JS,如何将JSON文件读入(服务器)内存?
背景 我正在对Node.js进行一些试验,想从文本文件或.js文件(更好的??)中读取JSON对象到内存中,以便我可以从代码中快速访问该对象。我意识到那里有像Mongo,Alfred等的东西,但这不是我现在所需要的。 题 如何使用JavaScript / Node从文本或js文件中读取JSON对象并将其读入服务器内存中?
618 javascript  json  node.js 

15
JSON字符串中的二进制数据。比Base64更好的东西
该JSON格式本身不支持二进制数据。必须对二进制数据进行转义,以便可以将其放入JSON中的字符串元素(即使用反斜杠转义的双引号中的零个或多个Unicode字符)。 逃脱二进制数据的一种明显方法是使用Base64。但是,Base64具有较高的处理开销。它还将3个字节扩展为4个字符,这导致数据大小增加了约33%。 一个用例是CDMI云存储API规范的v0.8草案。您可以使用JSON通过REST-Webservice创建数据对象,例如 PUT /MyContainer/BinaryObject HTTP/1.1 Host: cloud.example.com Accept: application/vnd.org.snia.cdmi.dataobject+json Content-Type: application/vnd.org.snia.cdmi.dataobject+json X-CDMI-Specification-Version: 1.0 { "mimetype" : "application/octet-stream", "metadata" : [ ], "value" : "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=", } 是否有更好的方法和标准方法将二进制数据编码为JSON字符串?
613 json  base64 

19
存储PHP数组的首选方法(json_encode与序列化)
我需要在平面文件中存储多维关联数据数组以进行缓存。我可能偶尔会遇到需要将其转换为JSON以便在我的Web应用程序中使用的情况,但是绝大多数时候,我将直接在PHP中使用该数组。 在此文本文件中将数组存储为JSON或PHP序列化数组会更有效吗?我环顾四周,似乎在最新版本的PHP(5.3)json_decode中实际上比快unserialize。 我目前倾向于将数组存储为JSON,因为如果有必要,我认为它很容易被人阅读,并且可以不费吹灰之力就可以在PHP和JavaScript中使用,从我的阅读中来看,它甚至可能是解码速度更快(不过不确定编码)。 有人知道有什么陷阱吗?任何人都有良好的基准可以显示这两种方法的性能优势?

24
用PHP漂亮打印JSON
我正在构建一个PHP脚本,该脚本将JSON数据提供给另一个脚本。我的脚本将数据构建到一个大型关联数组中,然后使用来输出数据json_encode。这是一个示例脚本: $data = array('a' =&gt; 'apple', 'b' =&gt; 'banana', 'c' =&gt; 'catnip'); header('Content-type: text/javascript'); echo json_encode($data); 上面的代码产生以下输出: {"a":"apple","b":"banana","c":"catnip"} 如果您的数据量很少,那就太好了,但是我希望遵循以下几点: { "a": "apple", "b": "banana", "c": "catnip" } 有没有办法在PHP中做到这一点而又没有丑陋的破解?似乎有人在Facebook上找到了答案。
587 php  json  pretty-print 

11
提取:POST json数据
Наэтотвопросетьответына 堆栈溢出русском:какотправитьjsonнасервер是否获取JavaScript?Всеговоряттолькоотом,какполучитьjson 我正在尝试使用fetch发布 JSON对象。 据我了解,我需要在请求的主体上附加一个字符串化的对象,例如: fetch("/echo/json/", { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, method: "POST", body: JSON.stringify({a: 1, b: 2}) }) .then(function(res){ console.log(res) }) .catch(function(res){ console.log(res) }) 使用jsfiddle的json回显时,我希望看到返回的对象({a: 1, b: 2}),但这不会发生-chrome devtools甚至不将JSON显示为请求的一部分,这意味着它没有被发送。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.