我想明白Javascript对象和JSON字符串之间的基本差异.
假设我创建了以下JS变量:
var testObject = {one: 1,"two":2,"three":3};
Run Code Online (Sandbox Code Playgroud)
Q1.键/属性名称是否有/无引号?(例如"one" : 1
)
如果是,有什么区别?
Q2:如果我使用转换上述对象JSON.stringify(testObject)
,原始JS对象和JSON之间有什么区别?
我觉得他们差不多了.请详细说明.
问题3:对于解析JSON字符串,是推荐的方法吗?
var javascriptObj = JSON.parse(jSonString);
Run Code Online (Sandbox Code Playgroud) 我已经看到一些浏览器本身通过window.JSON
Object 安全有效地支持JSON解析/序列化对象的引用,但细节很难得到.谁能指出正确的方向?此对象公开的方法有哪些?它支持哪些浏览器?
我有两个问题:
JSONResult和ActionResult有什么区别?
何时在MVC中使用JSONResult?
asp.net-mvc jsonresult asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-5
我想知道如何从外部页面检索字符串.
例如:在PHP网站中,用户发送facebook id,例如:1157251270
该网站从http://graph.facebook.com/1157251270返回名称.
我希望我说清楚.
谢谢
所以在javascript中我有一个看起来像这样的数组:
[{X1:0,X 2:2000,Y:300},{X1:50,X2:250,Y:500}]
我想将它存储在我的数据库中的单个字段中.我想到要么以某种方式使它成为一个字符串,然后将其保存为文本,但我真的不知道一个非常有效和"聪明"的方式来做到这一点.我也听说过VARBINARY字段类型,但我不知道如何编写和对象/数组到其中一个以及如何读取它...
我真正最喜欢的是它是否会被自动读取为数组.我的MYSQL插件(或者在js中调用)将我的查询作为对象数组返回:
[{ID:0,血乳酸: "文本"},{ID:0,血乳酸: "文本"}]
对于具有collumns id和bla的表中的查询.
好吧说我的数组存储在bla中,我希望在返回时我得到的对象看起来就像这样(但是如果不可能的话,我可以使用替代解决方案).
[{ID:0,BLA:[{X1:0,X 2:2000,Y:300},{X1:50,X2:250,Y:500}]},{ID:0,BLA:[{X1: 0,X2:2000,Y:300},{X1:50,X2:250,Y:500}]}]
所以基本上我会得到一个包含两个对象的数组,每个对象都有bla和id属性,其中bla是一个具有x1,x2和y属性的对象数组.
假设我有2个表,我可以"合并"并表示在一个嵌套数组中.
考虑到:我正在徘徊这是最好的方法.
我想到的两种简单方法(如果你有其他人,请建议!注意我要求一个简单的SERVER-SIDE和RELATIONAL-DB,所以请不要浪费你的时间来解释为什么我不应该使用这种DB,使用MVC设计等等......):
我试图给出一个简单而详细的例子,以便解释自己并更好地理解你的答案(虽然如何编写代码和/或发现可能的错误不是问题,所以尽量不要关注那个...... .)
CREATE TABLE persons
(
id int NOT NULL AUTO_INCREMENT,
fullName varchar(255),
PRIMARY KEY (id)
);
INSERT INTO persons (fullName) VALUES ('Alice'), ('Bob'), ('Carl'), ('Dan');
CREATE TABLE phoneNumbers
(
id int NOT NULL AUTO_INCREMENT,
personId int,
phoneNumber varchar(255),
PRIMARY KEY (id)
);
INSERT INTO phoneNumbers (personId, phoneNumber) VALUES ( 1, '123-456'), ( 1, '234-567'), (1, '345-678'), (2, '456-789'), (2, '567-890'), (3, '678-901'), (4, '789-012');
Run Code Online (Sandbox Code Playgroud)
我想从 JSON 文档中提取 JSON 属性。让我们简化我的例子如下:
create table a(a text);
insert into a(a) select '{"name":"Kevin"}'::json -> 'name';
Run Code Online (Sandbox Code Playgroud)
现在该表a
有一个值"Kevin"
而不是Kevin
。我真的必须手动提取引号吗?
我正在使用 PostgreSQL v10.1。
在交互式Web应用程序的环境中,特别是那些利用websockets等技术的库,我们如何在客户端浏览器和服务器之间传输数据结构(例如地图,列表,集等)?到目前为止我遇到的例子只传递字符串.
这种情况是否依赖于所使用的库,或者是否有更通用的机制?
我只知道我们从后端服务器获取数据为JSON格式。首先,为什么后端服务器返回JSON(或过去的XML),而不是对象?当我们要在客户端处理数据时,为什么需要将 JSON 转换为对象?同理,当我们想将数据发送回后端服务器时,为什么需要将对象转换为JSON?
这是一些参考引用(/sf/answers/26858961/):“JSON Parser 还提供了另一个非常有用的方法,stringify。这个方法接受一个 JavaScript 对象作为参数,并输出一个字符串使用 JSON 格式。当您想将数据发送回服务器时,这很有用:”
问题 1:为什么它有用?
var anObject = {name: "Andreas", surname : "Grech", age : 20};
var jsonFormat = JSON.stringify(anObject);
//The above method will output this: {"name":"Andreas","surname":"Grech","age":20}
Run Code Online (Sandbox Code Playgroud)
问题 2:为什么服务器端(后端)不能使用对象而必须使用 JSON?
问题 3:为什么客户端(前端)不能使用 JSON 而必须反对?
json ×5
javascript ×3
mysql ×2
php ×2
sql ×2
arrays ×1
asp.net-mvc ×1
browser ×1
comet ×1
facebook ×1
jsonresult ×1
object ×1
postgresql ×1
server-side ×1
websocket ×1