Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
c512bf6c
Commit
c512bf6c
authored
7 years ago
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #9232 from dkurt:json_named_nodes
parents
bcff9fd0
3515f6ec
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
0 deletions
+27
-0
persistence.cpp
modules/core/src/persistence.cpp
+1
-0
test_io.cpp
modules/core/test/test_io.cpp
+26
-0
No files found.
modules/core/src/persistence.cpp
View file @
c512bf6c
...
...
@@ -3781,6 +3781,7 @@ static char* icvJSONParseMap( CvFileStorage* fs, char* ptr, CvFileNode* node )
ptr
=
icvJSONParseMap
(
fs
,
ptr
,
child
);
else
ptr
=
icvJSONParseValue
(
fs
,
ptr
,
child
);
child
->
tag
|=
CV_NODE_NAMED
;
}
}
...
...
This diff is collapsed.
Click to expand it.
modules/core/test/test_io.cpp
View file @
c512bf6c
...
...
@@ -1292,3 +1292,29 @@ TEST(Core_InputOutput, FileStorage_format_yml_gz)
fs
.
open
(
"opencv_storage.yml.gz"
,
FileStorage
::
WRITE
|
FileStorage
::
MEMORY
);
EXPECT_EQ
(
FileStorage
::
FORMAT_YAML
,
fs
.
getFormat
());
}
TEST
(
Core_InputOutput
,
FileStorage_json_named_nodes
)
{
std
::
string
test
=
"{ "
"
\"
int_value
\"
: -324,"
"
\"
map_value
\"
: {"
"
\"
str_value
\"
:
\"
mystring
\"
"
"},"
"
\"
array
\"
: [0.2, 0.1]"
"}"
;
FileStorage
fs
(
test
,
FileStorage
::
READ
|
FileStorage
::
MEMORY
);
ASSERT_TRUE
(
fs
[
"int_value"
].
isNamed
());
ASSERT_TRUE
(
fs
[
"map_value"
].
isNamed
());
ASSERT_TRUE
(
fs
[
"map_value"
][
"str_value"
].
isNamed
());
ASSERT_TRUE
(
fs
[
"array"
].
isNamed
());
ASSERT_FALSE
(
fs
[
"array"
][
0
].
isNamed
());
ASSERT_FALSE
(
fs
[
"array"
][
1
].
isNamed
());
ASSERT_EQ
(
fs
[
"int_value"
].
name
(),
"int_value"
);
ASSERT_EQ
(
fs
[
"map_value"
].
name
(),
"map_value"
);
ASSERT_EQ
(
fs
[
"map_value"
][
"str_value"
].
name
(),
"str_value"
);
ASSERT_EQ
(
fs
[
"array"
].
name
(),
"array"
);
fs
.
release
();
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment