相关疑难解决方法(0)

JSON和Object Literal Notation有什么区别?

有人能告诉我使用"Object Literal Notation"JSON对象定义的JavaScript对象之间的主要区别是什么?

根据一本JavaScript书,它说这是一个使用Object Notation定义的对象:

var anObject = {
    property1 : true,
    showMessage : function (msg) { alert(msg) }
};
Run Code Online (Sandbox Code Playgroud)

在这种情况下,为什么它不是JSON对象?仅仅因为它没有使用引号定义?

javascript json object-notation

209
推荐指数
5
解决办法
6万
查看次数

如何在构建JSON字符串时转义特殊字符?

这是我的字符串

{
    'user': {
        'name': 'abc',
        'fx': {
            'message': {
                'color': 'red'
            },
            'user': {
                'color': 'blue'
            }
        }
    },
    'timestamp': '2013-10-04T08: 10: 41+0100',
    'message': 'I'mABC..',
    'nanotime': '19993363098581330'
}    
Run Code Online (Sandbox Code Playgroud)

这里的消息包含单引号,与JSON中使用的引用相同.我所做的是填写用户输入的字符串,如消息.所以,我需要摆脱那些破坏代码的特殊场景.但除了字符串替换之外,是否有任何方法可以使它们转义但仍允许HTML将它们处理回正确的消息?

json

189
推荐指数
4
解决办法
65万
查看次数

如何使用JSON.NET确保字符串是有效的JSON

我有一个原始字符串.我只是想验证字符串是否是有效的JSON.我正在使用JSON.NET.

c# json.net

124
推荐指数
6
解决办法
14万
查看次数

在JSON中,为什么引用每个名字?

JSON规范说JSON是一个对象或数组.在物体的情况下,

对象结构表示为围绕零个或多个名称/值对(或成员)的一对花括号. 名称是一个字符串. ...

后来,规范说一个字符串被引号括起来.

为什么?

从而,

{"Property1":"Value1","Property2":18}
Run Code Online (Sandbox Code Playgroud)

并不是

{Property1:"Value1",Property2:18}
Run Code Online (Sandbox Code Playgroud)

问题1:为什么不允许名称/值对中的名称是不带引号的标识符?


问题2:在Javascript中评估时,上述两种表示之间是否存在语义差异?

javascript json

90
推荐指数
2
解决办法
2万
查看次数

是否有任何实际的理由为JSON密钥使用带引号的字符串?

根据Crockford的json.org,JSON 对象成员组成,成员成对组成.

每对由字符串值组成,字符串定义为:

字符串是零个或多个Unicode字符的序列,用双引号括起来,使用反斜杠转义.字符表示为单个字符串.字符串非常类似于C或Java字符串.

但实际上大多数程序员甚至不知道JSON键应该用双引号括起来,因为大多数浏览器不需要使用双引号.

用双引号打扰你的JSON是否有意义?

有效示例:

{
  "keyName" : 34
}
Run Code Online (Sandbox Code Playgroud)

与无效相反:

{
   keyName : 34
}
Run Code Online (Sandbox Code Playgroud)

javascript browser json double-quotes

82
推荐指数
2
解决办法
2万
查看次数

使用组合器播放2.2 JSON读取:如何处理嵌套的可选对象?

我在疯狂尝试解析Play Framework 2.2中的这个JSON结构:

val jsonStr = """{ personFirstName: "FirstName",
  personLastName: "LastName"
  positionLat: null,
  positionLon: null }"""
Run Code Online (Sandbox Code Playgroud)

我有2个案例类:

case class Position( val lat: Double, val lon: Double)
case class Person( firstName: String, lastName: String, p: Option[Position] )
Run Code Online (Sandbox Code Playgroud)

如您所见,在Person案例类中,Position不是强制性的.

我试图用这样的东西得到一个Person的实例

implicit val reader = (
  (__ \ 'personFirstName ).read[String] ~
  (__ \ 'personLastName ).read[String] ~
  ( (__ \ 'positionLat ).read[Double] ~
    (__ \ 'positionLon ).read[Double] )(Position)
)(Person)
Run Code Online (Sandbox Code Playgroud)

但我很快意识到我不知道如何处理该Option[Position]对象:Some(Position(lat,lon))如果指定'lat'和'lon'并且不是null,则意图是实例化,否则实例化None.

你会怎么处理?

json scala playframework scala-2.10 playframework-2.2

6
推荐指数
1
解决办法
4083
查看次数

jQuery.getJSON(url,[data],[callback])

对所有人来说

我试图用jQuery的$ .getJSON()从Google检索汇率.使用请求:" $.getJSON()"

返回一个简单的JSON文件: "http://www.google.com/ig/calculator?hl=en&q=1USD=?CAD"

我使用以下jquery函数来获得加元金额:

{
  lhs: "1 U.S. dollar",
  rhs: "1.03800015 Canadian dollars",
  error: "",
  icc: true
}
Run Code Online (Sandbox Code Playgroud)

Fire bug显示正确的JSON文件,但表明使用了无效的标签.

任何帮助表示赞赏.

短发

jquery getjson

5
推荐指数
1
解决办法
6343
查看次数

在java中使用GSON验证JSON

我正在使用GSON来验证JSON格式的字符串:

String json="{'hashkey':{'calculatedHMAC':'f7b5addd27a221b216068cddb9abf1f06b3c0e1c','secretkey':'12345'},operation':'read','attributes':['name','id'],'otid':'12'}";
Gson gson=new Gson();
Response resp = new Response();
RequestParameters para = null;
try{
    para = gson.fromJson(json, RequestParameters.class);
}catch(Exception e){
    System.out.println("invalid json format");
}
Run Code Online (Sandbox Code Playgroud)

它做得很好但是当我删除下面的引号时,我已经从hashkey中删除了:

"{hashkey':{'calculatedHMAC':'f7b5addd27a221b216068cddb9abf1f06b3c0e1c','secretkey':'12345'},operation':'read','attributes':['name','id'],'otid':'12'}"
Run Code Online (Sandbox Code Playgroud)

它仍然将它验证为正确的JSON格式,并且不会抛出任何异常而不会进入catch体.这样做的原因是什么?我该如何解决这个问题?

RequestParameters类:

public class RequestParameters {
    HashKey hashkey;
    String operation;
    int count;
    int otid;
    String[] attributes;

}
Run Code Online (Sandbox Code Playgroud)

java json gson

5
推荐指数
1
解决办法
1万
查看次数

何时可以在JSON中省略引号?

它似乎是JSON最保守的秘密之一:你究竟能在字符串周围省略引号 - 你还应该使用什么引号(单引号或双引号)?

JSON标准是非常清楚的:使用双引号,并且始终使用它们.然而似乎没有人遵循这一点,解析器看起来一般都很好.

例如,JSON文档中的键通常似乎不需要引号.(我猜这是因为解析器可以假设密钥必须是字符串文字).但这是一个实际的规则吗?还有其他这样的规则吗?它们是特定于解析器还是特定于语言?

请注意,虽然问题是关于JSON,但这包括在给定编程语言中表达JSON对象的标准方法.如果某种语言(例如JavaScript)具有偏离JSON标准的官方规则,那么查看它们的定义会很有帮助.

json

4
推荐指数
1
解决办法
1342
查看次数

Javascript中的逗号

<script>

(function() {

$('html').addClass('js');

var contactForm = {

    container: $('#contact'),          <-- THIS COMMA

    init: function() {
        $('<button></button>', {
            text: 'Contact Me'
        })
            .insertAfter('article:first')
            .on('click', this.show);
    },  <---------------------------------- AND THIS COMMA

    show: function() {
        contactForm.container.show();
    }
};

contactForm.init();

})();

</script>
Run Code Online (Sandbox Code Playgroud)

在上面的脚本中,我注意到:

container: $('#contact'),

这是一种声明变量的方法吗?执行以下操作会破坏脚本:

var container = $('#contact');

另外,init函数和容器变量之后的逗号是什么(如果它是变量)?

javascript

3
推荐指数
1
解决办法
238
查看次数