Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xindoo
slowjson
提交
a3470899
S
slowjson
项目概览
xindoo
/
slowjson
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
slowjson
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a3470899
编写于
7月 17, 2020
作者:
xindoo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
64686fd9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
178 addition
and
11 deletion
+178
-11
pom.xml
pom.xml
+1
-1
src/main/java/xyz/xindoo/slowjson/JSONArray.java
src/main/java/xyz/xindoo/slowjson/JSONArray.java
+138
-9
src/main/java/xyz/xindoo/slowjson/JSONObject.java
src/main/java/xyz/xindoo/slowjson/JSONObject.java
+39
-1
未找到文件。
pom.xml
浏览文件 @
a3470899
...
...
@@ -6,7 +6,7 @@
<groupId>
xyz.xindoo
</groupId>
<artifactId>
slowjson
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<version>
1.0
.1
-SNAPSHOT
</version>
<dependencies>
<dependency>
...
...
src/main/java/xyz/xindoo/slowjson/JSONArray.java
浏览文件 @
a3470899
...
...
@@ -4,16 +4,20 @@ import org.antlr.v4.runtime.CharStreams;
import
org.antlr.v4.runtime.CommonTokenStream
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.ListIterator
;
import
java.util.stream.Collectors
;
public
class
JSONArray
{
private
final
List
<
JSON
Object
>
list
;
public
class
JSONArray
implements
List
<
Object
>
{
private
final
List
<
Object
>
list
;
public
JSONArray
()
{
this
.
list
=
new
ArrayList
<>();
}
public
JSONArray
(
List
<
JSONObject
>
list
)
{
public
JSONArray
(
List
<
Object
>
list
)
{
this
.
list
=
new
ArrayList
<>(
list
.
size
());
this
.
list
.
addAll
(
list
);
}
...
...
@@ -34,11 +38,7 @@ public class JSONArray {
}
public
JSONObject
getJSONObject
(
int
index
)
{
return
list
.
get
(
index
);
}
public
void
add
(
JSONObject
jsonObject
)
{
list
.
add
(
jsonObject
);
return
(
JSONObject
)
list
.
get
(
index
);
}
@Override
...
...
@@ -49,9 +49,138 @@ public class JSONArray {
public
String
toJSONString
()
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"["
);
List
<
String
>
strList
=
list
.
stream
().
map
(
JSON
Object:
:
toString
).
collect
(
Collectors
.
toList
());
List
<
String
>
strList
=
list
.
stream
().
map
(
Object:
:
toString
).
collect
(
Collectors
.
toList
());
sb
.
append
(
String
.
join
(
","
,
strList
));
sb
.
append
(
"]"
);
return
sb
.
toString
();
}
@Override
public
boolean
add
(
Object
e
)
{
return
this
.
list
.
add
(
e
);
}
@Override
public
void
add
(
int
index
,
Object
element
)
{
this
.
list
.
add
(
index
,
element
);
}
@Override
public
Object
set
(
int
index
,
Object
element
)
{
if
(
index
==
-
1
)
{
this
.
list
.
add
(
element
);
return
null
;
}
else
if
(
this
.
list
.
size
()
>
index
)
{
return
this
.
list
.
set
(
index
,
element
);
}
else
{
for
(
int
i
=
this
.
list
.
size
();
i
<
index
;
++
i
)
{
this
.
list
.
add
((
Object
)
null
);
}
this
.
list
.
add
(
element
);
return
null
;
}
}
@Override
public
Object
get
(
int
index
)
{
return
this
.
list
.
get
(
index
);
}
@Override
public
boolean
addAll
(
Collection
<?
extends
Object
>
c
)
{
return
this
.
list
.
addAll
(
c
);
}
@Override
public
ListIterator
<
Object
>
listIterator
(
int
index
)
{
return
this
.
list
.
listIterator
(
index
);
}
@Override
public
ListIterator
<
Object
>
listIterator
()
{
return
this
.
list
.
listIterator
();
}
@Override
public
int
indexOf
(
Object
o
)
{
return
this
.
list
.
indexOf
(
o
);
}
@Override
public
int
lastIndexOf
(
Object
o
)
{
return
this
.
list
.
lastIndexOf
(
o
);
}
@Override
public
List
<
Object
>
subList
(
int
fromIndex
,
int
toIndex
)
{
return
this
.
list
.
subList
(
fromIndex
,
toIndex
);
}
@Override
public
void
clear
()
{
this
.
list
.
clear
();
}
@Override
public
Object
remove
(
int
index
)
{
return
this
.
list
.
remove
(
index
);
}
@Override
public
int
size
()
{
return
this
.
list
.
size
();
}
@Override
public
boolean
isEmpty
()
{
return
this
.
list
.
isEmpty
();
}
@Override
public
boolean
contains
(
Object
o
)
{
return
this
.
list
.
contains
(
o
);
}
@Override
public
Iterator
<
Object
>
iterator
()
{
return
this
.
list
.
iterator
();
}
@Override
public
Object
[]
toArray
()
{
return
this
.
list
.
toArray
();
}
@Override
public
<
T
>
T
[]
toArray
(
T
[]
a
)
{
return
this
.
list
.
toArray
(
a
);
}
@Override
public
boolean
containsAll
(
Collection
<?>
c
)
{
return
this
.
list
.
containsAll
(
c
);
}
@Override
public
boolean
retainAll
(
Collection
<?>
c
)
{
return
this
.
list
.
retainAll
(
c
);
}
@Override
public
boolean
removeAll
(
Collection
<?>
c
)
{
return
this
.
list
.
removeAll
(
c
);
}
@Override
public
boolean
addAll
(
int
index
,
Collection
<?
extends
Object
>
c
)
{
return
this
.
list
.
addAll
(
index
,
c
);
}
@Override
public
boolean
remove
(
Object
o
)
{
return
this
.
list
.
remove
(
o
);
}
}
src/main/java/xyz/xindoo/slowjson/JSONObject.java
浏览文件 @
a3470899
...
...
@@ -6,6 +6,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
java.util.Random
;
...
...
@@ -15,7 +16,23 @@ public class JSONObject {
private
Map
<
String
,
Object
>
map
;
public
JSONObject
()
{
this
.
map
=
new
HashMap
<>();
this
(
false
);
}
public
JSONObject
(
Map
<
String
,
Object
>
map
)
{
if
(
map
==
null
)
{
throw
new
IllegalArgumentException
(
"map is null."
);
}
else
{
this
.
map
=
map
;
}
}
public
JSONObject
(
boolean
ordered
)
{
if
(
ordered
)
{
this
.
map
=
new
LinkedHashMap
();
}
else
{
this
.
map
=
new
HashMap
();
}
}
protected
JSONObject
(
JSONParser
.
ObjContext
objCtx
)
{
...
...
@@ -141,4 +158,25 @@ public class JSONObject {
float
a
=
random
.
nextFloat
();
}
}
public
int
size
()
{
return
this
.
map
.
size
();
}
public
boolean
isEmpty
()
{
return
this
.
map
.
isEmpty
();
}
public
boolean
containsKey
(
Object
key
)
{
boolean
result
=
this
.
map
.
containsKey
(
key
);
if
(!
result
&&
key
instanceof
Number
)
{
result
=
this
.
map
.
containsKey
(
key
.
toString
());
}
return
result
;
}
public
boolean
containsValue
(
Object
value
)
{
return
this
.
map
.
containsValue
(
value
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录