Skip to content

Commit 3623c7b

Browse files
committed
弃用 JsonSerializer
1 parent f492027 commit 3623c7b

File tree

5 files changed

+26
-24
lines changed

5 files changed

+26
-24
lines changed

Data/LoadData.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,19 @@ public static class Info
1919
{
2020
public static JsonDocument LanguageDict = JsonDocument.Parse(ReadPackageFileText("/Data/LanguageType.json"));
2121
public static JsonDocument ImageDict = JsonDocument.Parse(ReadPackageFileText("/Data/ImageType.json"));
22-
public static List<WebsiteInfo> SearchEngineList = JsonSerializer.Deserialize<List<WebsiteInfo>>(ReadPackageFileText("/Data/SearchEngine.json"))!;
23-
public static ObservableCollection<WebsiteInfo> SuggestWebsiteList = JsonSerializer.Deserialize<ObservableCollection<WebsiteInfo>>(ReadPackageFileText("/Data/SuggestWebsite.json"))!;
24-
public static Dictionary<string, List<string>> HighlightKeyWords = JsonSerializer.Deserialize<Dictionary<string, List<string>>>(ReadPackageFileText("/Data/HighlightData.json"))!;
22+
public static List<WebsiteInfo> SearchEngineList = JsonDocument.Parse(ReadPackageFileText("/Data/SearchEngine.json"))!.RootElement.EnumerateArray().Select(x => new WebsiteInfo()
23+
{
24+
Name = x.GetProperty("Name").GetString(),
25+
Icon = x.GetProperty("Icon").GetString(),
26+
Uri = x.GetProperty("Uri").GetString()
27+
}).ToList();
28+
public static List<WebsiteInfo> SuggestWebsiteList = JsonDocument.Parse(ReadPackageFileText("/Data/SuggestWebsite.json"))!.RootElement.EnumerateArray().Select(x => new WebsiteInfo()
29+
{
30+
Name = x.GetProperty("Name").GetString(),
31+
Icon = x.GetProperty("Icon").GetString(),
32+
Uri = x.GetProperty("Uri").GetString()
33+
}).ToList();
34+
public static JsonElement HighlightKeyWords = JsonDocument.Parse(ReadPackageFileText("/Data/HighlightData.json"))!.RootElement;
2535

2636
public static string ReadPackageFileText(string path)
2737
{

Edge.csproj

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,6 @@
1313
<EnableMsixTooling>true</EnableMsixTooling>
1414
<DefaultLanguage>zh-hans-cn</DefaultLanguage>
1515
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
16-
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
17-
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
18-
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
19-
<AppxSymbolPackageEnabled>False</AppxSymbolPackageEnabled>
20-
<GenerateTestArtifacts>True</GenerateTestArtifacts>
21-
<AppxBundle>Always</AppxBundle>
22-
<AppxBundlePlatforms>x64</AppxBundlePlatforms>
23-
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
24-
<PackageCertificateThumbprint>AB3A77AC66EBEF74B79E30655AE69887D9B08A90</PackageCertificateThumbprint>
2516
</PropertyGroup>
2617
<ItemGroup>
2718
<COMReference Include="IWshRuntimeLibrary">
@@ -47,9 +38,10 @@
4738
</ItemGroup>
4839

4940
<ItemGroup>
50-
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0-preview1" />
41+
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0-preview2" />
5142
<PackageReference Include="CommunityToolkit.WinUI.Controls.SettingsControls" Version="8.2.241112-preview1" />
5243
<PackageReference Include="CommunityToolkit.WinUI.Converters" Version="8.2.241112-preview1" />
44+
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.2792.45" />
5345
<PackageReference Include="Microsoft.Windows.CsWin32" Version="0.3.106" />
5446
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.241106002" />
5547
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742" />

Pages/TextFilePage.xaml.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System;
77
using System.Collections.Generic;
88
using System.IO;
9+
using System.Linq;
910
using System.Text;
1011
using System.Text.RegularExpressions;
1112

@@ -97,12 +98,12 @@ private void AnalyzeFile(string filePath, Encoding encoding)
9798

9899
private void SetHighlightContent(string content)
99100
{
100-
List<string> keywords;
101-
if (!Info.HighlightKeyWords.TryGetValue(typeName, out keywords))
101+
if (!Info.HighlightKeyWords.TryGetProperty(typeName, out var property))
102102
{
103103
block.Text = content;
104104
return;
105105
}
106+
IEnumerable<string> keywords = property.EnumerateArray().ToList().Select(x => x.ToString());
106107

107108
string pattern = @"\b(?:" + string.Join("|", keywords) + @")\b";
108109
Regex regex = new(pattern, RegexOptions.IgnoreCase);

Settings/AppearanceItem.xaml.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using System;
55
using System.Linq;
66
using System.Collections.Generic;
7-
using System.Text.Json;
7+
using System.Text.Json.Nodes;
88

99
namespace Edge
1010
{
@@ -17,7 +17,7 @@ public class ToolBarVisual
1717
public sealed partial class AppearanceItem : Page
1818
{
1919
public static bool inLoading = false;
20-
public Dictionary<string, bool> ToolBar = JsonSerializer.Deserialize<Dictionary<string, bool>>(App.settings["ToolBar"].ToJsonString());
20+
public JsonObject ToolBar = App.settings["ToolBar"].AsObject();
2121
public List<ToolBarVisual> ToolBarVisualList = [];
2222
public List<string> themeList = [.. Enum.GetNames(typeof(ElementTheme))];
2323
public AppearanceItem()
@@ -26,7 +26,7 @@ public AppearanceItem()
2626
ToolBarVisualList = ToolBar.Select(x => new ToolBarVisual()
2727
{
2828
Text = x.Key,
29-
Visual = x.Value
29+
Visual = x.Value.GetValue<bool>()
3030
}).ToList();
3131
toolBarVisualView.ItemsSource = ToolBarVisualList;
3232

@@ -57,7 +57,7 @@ private void VisualChanged(object sender, RoutedEventArgs e)
5757
if ((sender as ToggleSwitch).Name == visual.Text)
5858
{
5959
ToolBar[visual.Text] = (sender as ToggleSwitch).IsOn;
60-
App.settings["ToolBar"] = JsonSerializer.SerializeToNode(ToolBar);
60+
App.settings["ToolBar"] = ToolBar;
6161
}
6262
}
6363
}

Settings/StartItem.xaml.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22
using Edge.Utilities;
33
using Microsoft.UI.Xaml.Controls;
44
using System;
5-
using System.Collections.Generic;
65
using System.Linq;
7-
using System.Text.Json;
6+
using System.Text.Json.Nodes;
87
using Windows.Storage;
98
using Windows.Storage.Pickers;
109
using WinRT.Interop;
@@ -13,7 +12,7 @@ namespace Edge
1312
{
1413
public sealed partial class StartItem : Page
1514
{
16-
public Dictionary<string, bool> ToolBar = JsonSerializer.Deserialize<Dictionary<string, bool>>(App.settings["ToolBar"].ToJsonString());
15+
public JsonObject ToolBar = App.settings["ToolBar"].AsObject();
1716
public StartItem()
1817
{
1918
this.InitializeComponent();
@@ -22,7 +21,7 @@ public StartItem()
2221
uriBox.Text = App.settings["SpecificUri"].ToString();
2322
uriBox.IsEnabled = radios.SelectedIndex == 2;
2423

25-
setHomeButton.IsOn = ToolBar["HomeButton"];
24+
setHomeButton.IsOn = ToolBar["HomeButton"].GetValue<bool>();
2625
searchEngineBox.ItemsSource = Info.SearchEngineList.Select(x => x.Name);
2726
searchEngineBox.SelectedItem = Info.SearchEngineList.Select(x => x.Name).First(name => name == App.settings["SearchEngine"].ToString());
2827

@@ -39,7 +38,7 @@ private void SetStartUri(object sender, Microsoft.UI.Xaml.Input.KeyRoutedEventAr
3938
private void HomeButtonVisualChanged(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
4039
{
4140
ToolBar["HomeButton"] = setHomeButton.IsOn;
42-
App.settings["ToolBar"] = JsonSerializer.SerializeToNode(ToolBar);
41+
App.settings["ToolBar"] = ToolBar;
4342
}
4443

4544
private void SearchEngineChanged(object sender, SelectionChangedEventArgs e)

0 commit comments

Comments
 (0)