Bläddra i källkod

去除/r /n /t

eraser 3 år sedan
förälder
incheckning
a55d31a4d8

+ 32 - 14
Source/Communication_Org/Private/MyBlueprintFunctionLibrary.cpp

@@ -57,28 +57,23 @@ int64 UMyBlueprintFunctionLibrary::DateTimeToUnixTimestamp(FDateTime DateTime)
 
 int32 UMyBlueprintFunctionLibrary::GetCurrentIndex(FString RawDataJson)
 {
+	//UE_LOG(LogTemp, Log, TEXT("RawDataJson=%s"), *RawDataJson);
 	int32 CurrentIndex = 0;
 	TArray< TSharedPtr<FJsonValue> > JsonObjectValue;
 	TSharedRef<TJsonReader<>> JsonReader2 = TJsonReaderFactory<>::Create(RawDataJson);
 	if (FJsonSerializer::Deserialize(JsonReader2, JsonObjectValue))
 	{
+		CurrentIndex = (JsonObjectValue).Num();
 		for (int32 i = 0; i < (JsonObjectValue).Num(); i++) {
 
 			TSharedPtr<FJsonObject> jsonMember = (JsonObjectValue)[i]->AsObject();
 			double EndTimeStamp = jsonMember->GetIntegerField(TEXT("EndTime"));
+			//UE_LOG(LogTemp, Log, TEXT("EndTimeStamp======%d"), EndTimeStamp);
 			if (EndTimeStamp == 0)
 			{
 				CurrentIndex = i;
 				break;
 			}
-
-			//int32 Score = jsonMember->GetIntegerField(TEXT("Score"));
-			////UE_LOG(LogTemp, Log, TEXT("Score======%d"), Score);
-			//if (Score==-1)
-			//{
-			//	CurrentIndex = i;
-			//	break;
-			//}	
 		}
 	}
 
@@ -637,11 +632,11 @@ FString UMyBlueprintFunctionLibrary::SetEndTimeAndTotalUsedTimeAndTotalScore(FSt
 
 	// set start time
 	JsonRootObject->SetNumberField(TEXT("StartTime"), StartTimeStamp);
-	FDateTime AStartTime = UnixTimestampToDateTime(StartTimeStamp);
+	//FDateTime AStartTime = UnixTimestampToDateTime(StartTimeStamp);
 
 	// set end time
 	JsonRootObject->SetNumberField(TEXT("EndTime"), EndTimeStamp);
-	FDateTime AEndTime = UnixTimestampToDateTime(EndTimeStamp);
+	//FDateTime AEndTime = UnixTimestampToDateTime(EndTimeStamp);
 	// set TimeUsed
 	if (EndTimeStamp - StartTimeStamp > 0)
 	{
@@ -665,7 +660,7 @@ FString UMyBlueprintFunctionLibrary::SetEndTimeAndTotalUsedTimeAndTotalScore(FSt
 
 FString UMyBlueprintFunctionLibrary::SetTotalEndTimeAndTotalUsedTimeAndTotalScore(FString RawDataJson, FString UserID, FString ExamId, int64 StartTimeStamp, int64 EndTimeStamp)
 {
-	UE_LOG(LogTemp, Log, TEXT("RawDataJson===%s"), *RawDataJson);
+	//UE_LOG(LogTemp, Log, TEXT("RawDataJson===%s"), *RawDataJson);
 
 	JsonObjectPtr JsonRootObject = MakeShareable(new FJsonObject());
 	JsonRootObject->SetStringField(TEXT("UserID"), UserID);
@@ -686,11 +681,20 @@ FString UMyBlueprintFunctionLibrary::SetTotalEndTimeAndTotalUsedTimeAndTotalScor
 		}
 
 		JsonRootObject->SetNumberField(TEXT("TimeUsed"), TotalScore);
+
+		FString newScoreString = "";
+		TSharedRef<TJsonWriter<>> Writer = TJsonWriterFactory<>::Create(&newScoreString);
+		FJsonSerializer::Serialize(JsonObjectValue, Writer);
+		
+		JsonRootObject->SetStringField(TEXT("Score"), newScoreString);
+
+		TSharedPtr<FJsonObject> StartMember = (JsonObjectValue)[0]->AsObject();
+		TSharedPtr<FJsonObject> EndMember = (JsonObjectValue)[(JsonObjectValue).Num() - 1]->AsObject();
 	}
 
 	// set start time
 	JsonRootObject->SetNumberField(TEXT("StartTime"), StartTimeStamp);
-	FDateTime AStartTime = UnixTimestampToDateTime(StartTimeStamp);
+	//FDateTime AStartTime = UnixTimestampToDateTime(StartTimeStamp);
 
 	// set end time
 	//int64 EndTimeStamp = DateTimeToUnixTimestamp(EndTime);
@@ -714,7 +718,8 @@ FString UMyBlueprintFunctionLibrary::SetTotalEndTimeAndTotalUsedTimeAndTotalScor
 
 	//JsonをFStringに書き込み
 	FJsonSerializer::Serialize(JsonRootObject.ToSharedRef(), Writer);
-	UE_LOG(LogTemp, Log, TEXT("OutPutString===%s"), *OutPutString);
+	OutPutString = Trim(OutPutString);
+	//UE_LOG(LogTemp, Log, TEXT("OutPutString===%s"), *OutPutString);
 	return OutPutString;
 }
 
@@ -1248,7 +1253,20 @@ FString UMyBlueprintFunctionLibrary::GetRestartJsonString(FString UserID, FStrin
 	return OutPutString;
 }
 
-
+FString UMyBlueprintFunctionLibrary::Trim(FString RawDataJson)
+{
+	FString NewStr = RawDataJson;
+	NewStr = NewStr.Replace(TEXT("\r"), TEXT(""));
+	NewStr = NewStr.Replace(TEXT("\n"), TEXT(""));
+	NewStr = NewStr.Replace(TEXT("\t"), TEXT(""));
+
+	NewStr = NewStr.Replace(TEXT("\\r"), TEXT(""));
+	NewStr = NewStr.Replace(TEXT("\\n"), TEXT(""));
+	NewStr = NewStr.Replace(TEXT("\\t"), TEXT(""));
+	//NewStr = NewStr.Replace(TEXT("\\"), TEXT(""));
+	//UE_LOG(LogTemp, Log, TEXT("NewStr = %s"), *NewStr);
+	return NewStr;
+}
 
 
 

+ 2 - 0
Source/Communication_Org/Public/MyBlueprintFunctionLibrary.h

@@ -115,4 +115,6 @@ public:
 	UFUNCTION(BlueprintPure, Category = "Json")
 		static FString GetRestartJsonString(FString UserID,FString RawDataJson);
 
+	UFUNCTION(BlueprintPure, Category = "Json")
+		static FString Trim(FString RawDataJson);
 };