Browse Source

remove reference of Newtonsoft.Json

tags/3.0
Gang Zhuo 9 years ago
parent
commit
8bc9a7911b
5 changed files with 38 additions and 26 deletions
  1. +34
    -15
      shadowsocks-csharp/3rd/SimpleJson.cs
  2. +1
    -2
      shadowsocks-csharp/Controller/Strategy/StatisticsStrategy.cs
  3. +3
    -4
      shadowsocks-csharp/Model/StatisticsStrategyConfiguration.cs
  4. +0
    -1
      shadowsocks-csharp/packages.config
  5. +0
    -4
      shadowsocks-csharp/shadowsocks-csharp.csproj

+ 34
- 15
shadowsocks-csharp/3rd/SimpleJson.cs View File

@@ -580,7 +580,7 @@ namespace SimpleJson
public static string SerializeObject(object json, IJsonSerializerStrategy jsonSerializerStrategy)
{
StringBuilder builder = new StringBuilder(BUILDER_CAPACITY);
bool success = SerializeValue(jsonSerializerStrategy, json, builder);
bool success = SerializeValue(jsonSerializerStrategy, json, 0, builder);
return (success ? builder.ToString() : null);
}
@@ -966,7 +966,7 @@ namespace SimpleJson
return TOKEN_NONE;
}
protected static bool SerializeValue(IJsonSerializerStrategy jsonSerializerStrategy, object value, StringBuilder builder)
protected static bool SerializeValue(IJsonSerializerStrategy jsonSerializerStrategy, object value, int level, StringBuilder builder)
{
bool success = true;
@@ -975,15 +975,15 @@ namespace SimpleJson
else if (value is IDictionary<string, object>)
{
IDictionary<string, object> dict = (IDictionary<string, object>)value;
success = SerializeObject(jsonSerializerStrategy, dict.Keys, dict.Values, builder);
success = SerializeObject(jsonSerializerStrategy, dict.Keys, dict.Values, level, builder);
}
else if (value is IDictionary<string, string>)
{
IDictionary<string, string> dict = (IDictionary<string, string>)value;
success = SerializeObject(jsonSerializerStrategy, dict.Keys, dict.Values, builder);
success = SerializeObject(jsonSerializerStrategy, dict.Keys, dict.Values, level, builder);
}
else if (value is IEnumerable)
success = SerializeArray(jsonSerializerStrategy, (IEnumerable)value, builder);
success = SerializeArray(jsonSerializerStrategy, (IEnumerable)value, level, builder);
else if (IsNumeric(value))
success = SerializeNumber(value, builder);
else if (value is Boolean)
@@ -995,16 +995,18 @@ namespace SimpleJson
object serializedObject;
success = jsonSerializerStrategy.SerializeNonPrimitiveObject(value, out serializedObject);
if (success)
SerializeValue(jsonSerializerStrategy, serializedObject, builder);
SerializeValue(jsonSerializerStrategy, serializedObject, level, builder);
}
return success;
}
protected static bool SerializeObject(IJsonSerializerStrategy jsonSerializerStrategy, IEnumerable keys, IEnumerable values, StringBuilder builder)
protected static bool SerializeObject(IJsonSerializerStrategy jsonSerializerStrategy, IEnumerable keys, IEnumerable values, int level, StringBuilder builder)
{
builder.Append("{\r\n");
level++;
IEnumerator ke = keys.GetEnumerator();
IEnumerator ve = values.GetEnumerator();
@@ -1017,39 +1019,50 @@ namespace SimpleJson
if (!first)
builder.Append(",\r\n");
FeedIndent(level, builder);
if (key is string)
SerializeString((string)key, builder);
else
if (!SerializeValue(jsonSerializerStrategy, value, builder)) return false;
if (!SerializeValue(jsonSerializerStrategy, value, level, builder)) return false;
builder.Append(" : ");
if (!SerializeValue(jsonSerializerStrategy, value, builder))
if (!SerializeValue(jsonSerializerStrategy, value, level, builder))
return false;
first = false;
}
builder.Append("}\r\n");
builder.Append("\r\n");
FeedIndent(level - 1, builder);
builder.Append("}");
return true;
}
protected static bool SerializeArray(IJsonSerializerStrategy jsonSerializerStrategy, IEnumerable anArray, StringBuilder builder)
protected static bool SerializeArray(IJsonSerializerStrategy jsonSerializerStrategy, IEnumerable anArray, int level, StringBuilder builder)
{
builder.Append("[\r\n ");
builder.Append("[\r\n");
level++;
bool first = true;
foreach (object value in anArray)
{
if (!first)
builder.Append(",\r\n ");
builder.Append(",\r\n");
if (!SerializeValue(jsonSerializerStrategy, value, builder))
FeedIndent(level, builder);
if (!SerializeValue(jsonSerializerStrategy, value, level, builder))
return false;
first = false;
}
builder.Append("\r\n]");
builder.Append("\r\n");
FeedIndent(level - 1, builder);
builder.Append("]");
return true;
}
@@ -1117,6 +1130,12 @@ namespace SimpleJson
return true;
}
protected static void FeedIndent(int level, StringBuilder builder)
{
for (int i = 0; i < level * 2; i++)
builder.Append(" ");
}
/// <summary>
/// Determines if a given object is numeric in any way
/// (can be integer, double, null, etc).


+ 1
- 2
shadowsocks-csharp/Controller/Strategy/StatisticsStrategy.cs View File

@@ -4,7 +4,6 @@ using System.Linq;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
using Newtonsoft.Json;
using Shadowsocks.Model;

namespace Shadowsocks.Controller.Strategy
@@ -66,7 +65,7 @@ namespace Shadowsocks.Controller.Strategy
score += statisticsData.MinResponse*factor;
if (!config.Calculations.TryGetValue("MaxResponse", out factor)) factor = 0;
score += statisticsData.MaxResponse*factor;
Logging.Debug($"{serverName} {JsonConvert.SerializeObject(statisticsData)}");
Logging.Debug($"{serverName} {SimpleJson.SimpleJson.SerializeObject(statisticsData)}");
return score;
}



+ 3
- 4
shadowsocks-csharp/Model/StatisticsStrategyConfiguration.cs View File

@@ -6,7 +6,6 @@ using System.Reflection;
using Shadowsocks.Controller;
using Shadowsocks.Controller.Strategy;
using SimpleJson;
using Newtonsoft.Json;

namespace Shadowsocks.Model
{
@@ -29,10 +28,10 @@ namespace Shadowsocks.Model
try
{
var content = File.ReadAllText(ConfigFile);
var configuration = JsonConvert.DeserializeObject<StatisticsStrategyConfiguration>(content);
var configuration = SimpleJson.SimpleJson.DeserializeObject<StatisticsStrategyConfiguration>(content);
return configuration;
}
catch (FileNotFoundException e)
catch (FileNotFoundException)
{
var configuration = new StatisticsStrategyConfiguration();
Save(configuration);
@@ -49,7 +48,7 @@ namespace Shadowsocks.Model
{
try
{
var content = JsonConvert.SerializeObject(configuration, Formatting.Indented);
var content = SimpleJson.SimpleJson.SerializeObject(configuration);
File.WriteAllText(ConfigFile, content);
}
catch (Exception e)


+ 0
- 1
shadowsocks-csharp/packages.config View File

@@ -5,5 +5,4 @@
<package id="Microsoft.Bcl" version="1.1.8" targetFramework="net4-client" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net4-client" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net4-client" />
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net4-client" />
</packages>

+ 0
- 4
shadowsocks-csharp/shadowsocks-csharp.csproj View File

@@ -81,10 +81,6 @@
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>3rd\Newtonsoft.Json.7.0.1\lib\net40\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />


Loading…
Cancel
Save