我有这个String Map,Object,我希望将其展平,因此结果是Key,Value Map
void main(){
var li = {"qotd_date":"2019-05-18T00:00:00.000+00:00","quote":{"id":61869,"dialogue":false,"private":false,"tags":[],"url":"https://favqs.com/quotes/wael-ghonim/61869-the-power-of--","favorites_count":1,"upvotes_count":0,"downvotes_count":0,"author":" Wael Ghonim ","author_permalink":"wael-ghonim","body":"The power of the people is greater than the people in power."}};
print(li);
}
当前输出:
{qotd_date: 2019-05-18T00:00:00.000+00:00, quote: {id: 61869, dialogue: false, private: false, tags: [], url: https://favqs.com/quotes/wael-ghonim/61869-the-power-of--, favorites_count: 1, upvotes_count: 0, downvotes_count: 0, author: Wael Ghonim , author_permalink: wael-ghonim, body: The power of the people is greater than the people in power.}}
我想要的预期输出是
{"qotd_date":"2019-05-18T00:00:00.000+00:00","id":61869,"dialogue":false,"private":false,"tags":[],"url":"https://favqs.com/quotes/wael-ghonim/61869-the-power-of--","favorites_count":1,"upvotes_count":0,"downvotes_count":0,"author":" Wael Ghonim ","author_permalink":"wael-ghonim","body":"The power of the people is greater than the people in power."};
就像平展地图一样。请帮助我摆脱困境吗?
答案 0 :(得分:1)
简单地说,编码为json:
#OPEN CSV
$filevalue = 'C:\test\20180720-Name-Location-0001.csv'
$path = 'C:\test'
$file = 'test.txt'
$file2 = '20180720-Name-Location-0001.csv'
$date = Get-Date -Format "yyyy-MM-dd-"
$filename = ($date + "-" + "ACME-YELP-36-AL_01")
Copy-Item "C:\test\20180720-Name-Location-0001.csv" -Destination "C:\test\$filename.txt"
#$originalFiles = Get-ChildItem "C:test\" -Filter *.txt
#$x = ("-000" + 1 + ".txt")
#Gets Todays Date
$Today = Get-Date -Format 'yyyy-MM-dd'
# delete any existing test file
#$Null = Remove-Item -Path "$env:TEMP\$($Today)_*.txt" -ErrorAction SilentlyContinue
# create a file to work with
#$Null = New-Item -Path $env:TEMP -Name "$($Today)_07.txt" -ItemType File -ErrorAction SilentlyContinue
# pretend to access the listing 17 times
1..17 |
ForEach-Object {
$FileInfo = Get-ChildItem -LiteralPath "C:\test\" -Filter "*.txt"
$OldSeqNumber = $FileInfo.BaseName.Split('_')[-1]
$NewSeqNumber = '{0:D2}' -f ([int]$OldSeqNumber + 1)
$NewFileName = $FileInfo.Name.Replace("_$OldSeqNumber", "_$NewSeqNumber")
Rename-Item -LiteralPath "C:\test\2019-05-08--Name-LOC_01.txt" $FileInfo.FullName -NewName $NewFileName
}
输出:
import 'dart:convert';
void main() {
Map<String, dynamic> li = {
"qotd_date": "2019-05-18T00:00:00.000+00:00",
"quote": {
"id": 61869,
"dialogue": false,
"private": false,
"tags": [],
"url": "https://favqs.com/quotes/wael-ghonim/61869-the-power-of--",
"favorites_count": 1,
"upvotes_count": 0,
"downvotes_count": 0,
"author": " Wael Ghonim ",
"author_permalink": "wael-ghonim",
"body": "The power of the people is greater than the people in power."
}
};
Map<String, dynamic> flattened = {};
li.removeWhere((key, value) {
if (value is Map) {
flattened.addAll(value);
}
return value is Map;
});
flattened.addAll(li);
print(jsonEncode(flattened));
}