1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# import yt.yson as yson
# bin_str = ''.join(map(chr, xrange(0, 255)))
# s = yson.YsonString(bin_str)
# s.attributes = yson.YsonMap({
# 'a1': yson.YsonString('oops'),
# 'a2': yson.YsonList([yson.YsonUint64(876), yson.YsonString('boom')])
# })
#
# y = yson.YsonMap(
# {
# 'a': yson.YsonBoolean(True),
# 'b': yson.YsonBoolean(False),
# 'c': yson.YsonString('hello ������'),
# 'd': s,
# 'x': yson.YsonDouble(-1.34),
# 'y': yson.YsonDouble(float('nan')),
# 'v': yson.YsonEntity(),
# '$z': yson.YsonDouble(float('-inf')),
# '$t': yson.YsonDouble(float('inf')),
# '$$$e': yson.YsonMap(
# {
# '$f': yson.YsonString('hehe'),
# '$$g': yson.YsonList([yson.YsonEntity(), yson.YsonInt64(-12345), yson.YsonUint64(9876)])
# }
# )
# }
# )
#
# x = YqlParameterValueBuilder.make_yson(y)
# t = json.dumps(x.to_json(), sort_keys=True, indent=4)
# import sys
# sys.stderr.write(t)
{
"$$$$e": {
"$$$g": [
null,
{
"$type": "int64",
"$value": "-12345"
},
{
"$type": "uint64",
"$value": "9876"
}
],
"$$f": {
"$type": "string",
"$value": "hehe"
}
},
"$$t": {
"$type": "double",
"$value": "inf"
},
"$$z": {
"$type": "double",
"$value": "-inf"
},
"a": {
"$type": "boolean",
"$value": "true"
},
"b": {
"$type": "boolean",
"$value": "false"
},
"c": {
"$type": "string",
"$value": "hello \u00d0\u009c\u00d0\u00be\u00d1\u0081\u00d0\u00ba\u00d0\u00b2\u00d0\u00b0"
},
"d": {
"$attributes": {
"a1": {
"$type": "string",
"$value": "oops"
},
"a2": [
{
"$type": "uint64",
"$value": "876"
},
{
"$type": "string",
"$value": "boom"
}
]
},
"$type": "string",
"$value": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088\u0089\u008a\u008b\u008c\u008d\u008e\u008f\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009a\u009b\u009c\u009d\u009e\u009f\u00a0\u00a1\u00a2\u00a3\u00a4\u00a5\u00a6\u00a7\u00a8\u00a9\u00aa\u00ab\u00ac\u00ad\u00ae\u00af\u00b0\u00b1\u00b2\u00b3\u00b4\u00b5\u00b6\u00b7\u00b8\u00b9\u00ba\u00bb\u00bc\u00bd\u00be\u00bf\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6\u00c7\u00c8\u00c9\u00ca\u00cb\u00cc\u00cd\u00ce\u00cf\u00d0\u00d1\u00d2\u00d3\u00d4\u00d5\u00d6\u00d7\u00d8\u00d9\u00da\u00db\u00dc\u00dd\u00de\u00df\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5\u00e6\u00e7\u00e8\u00e9\u00ea\u00eb\u00ec\u00ed\u00ee\u00ef\u00f0\u00f1\u00f2\u00f3\u00f4\u00f5\u00f6\u00f7\u00f8\u00f9\u00fa\u00fb\u00fc\u00fd\u00fe"
},
"v": null,
"x": {
"$type": "double",
"$value": "-1.34"
},
"y": {
"$type": "double",
"$value": "nan"
}
}
|