@@ -238,15 +238,16 @@ def test_non_ascii_key(self):
238238 tm .assert_frame_equal (result , expected )
239239
240240 def test_missing_field (self , author_missing_data ):
241- # GH20030: Checks for robustness of json_normalize - should
242- # unnest records where only the first record has a None value
241+ # GH21356
243242 result = json_normalize (author_missing_data )
244243 ex_data = [
245- {'author_name.first' : np .nan ,
244+ {'info' : np .nan ,
245+ 'author_name.first' : np .nan ,
246246 'author_name.last_name' : np .nan ,
247247 'info.created_at' : np .nan ,
248248 'info.last_updated' : np .nan },
249- {'author_name.first' : 'Jane' ,
249+ {'info' : None ,
250+ 'author_name.first' : 'Jane' ,
250251 'author_name.last_name' : 'Doe' ,
251252 'info.created_at' : '11/08/1993' ,
252253 'info.last_updated' : '26/05/2012' }
@@ -351,7 +352,7 @@ def test_json_normalize_errors(self):
351352 errors = 'raise'
352353 )
353354
354- def test_nonetype_dropping (self ):
355+ def test_nonetype (self ):
355356 # GH20030: Checks that None values are dropped in nested_to_record
356357 # to prevent additional columns of nans when passed to DataFrame
357358 data = [
@@ -367,7 +368,8 @@ def test_nonetype_dropping(self):
367368 ]
368369 result = nested_to_record (data )
369370 expected = [
370- {'author_name.first' : 'Smith' ,
371+ {'info' : None ,
372+ 'author_name.first' : 'Smith' ,
371373 'author_name.last_name' : 'Appleseed' },
372374 {'author_name.first' : 'Jane' ,
373375 'author_name.last_name' : 'Doe' ,
@@ -395,6 +397,7 @@ def test_nonetype_top_level_bottom_level(self):
395397 }
396398 result = nested_to_record (data )
397399 expected = {
400+ 'id' : None ,
398401 'location.country.state.id' : None ,
399402 'location.country.state.town.info.id' : None ,
400403 'location.country.state.town.info.region' : None ,
@@ -423,6 +426,7 @@ def test_nonetype_multiple_levels(self):
423426 }
424427 result = nested_to_record (data )
425428 expected = {
429+ 'id' : None ,
426430 'location.id' : None ,
427431 'location.country.id' : None ,
428432 'location.country.state.id' : None ,
0 commit comments