SQL-сервер 2016 поддерживает json data
синтаксический анализ с использованием OPENJSON
. Вы можете использовать OPENJSON
для сопоставления json data
с строками и столбцами.
Ваш json Data
[
{ "id" : 2,"name": "John"},
{ "id" : 5,"name": "John"}
]
Вот как вы можете обрабатывать json в sql
//@pJson is json data passed from code.
INSERT INTO YourTable (id, Name)
SELECT id, name
FROM OPENJSON(@pJson)
WITH (id int,
name nvarchar(max))
Здесь - подробная статья, посвященная этой теме.
Я как-то сделал обходной путь, чтобы исправить это. На самом деле SnapShot.Children (от Firebase Unity SDK) имеет IEnumerable. Тип. Я искал в интернете итерации IEnumerable коллекций. И затем заменил мой код из этого:
else if (task.IsCompleted) {
DataSnapshot snapshot = task.Result;
// Do something with snapshot...
foreach(DataSnapshot s in snapshot.Children){
IDictionary dictUsers = (IDictionary)s.Value;
Debug.Log(dictUsers["displayName"]);
}
// After this foreach loop in snapshot.Children, nothing executes
UIManager.instance.ShowOtherUsers();
}
На это:
else if (task.IsCompleted)
{
DataSnapshot snapshot = task.Result;
// Do something with snapshot...
using (var sequenceEnum = snapshot.Children.GetEnumerator())
{
for(int i = 0 ;i<snapshot.Children.Count();i++){
while (sequenceEnum.MoveNext())
{
try{
IDictionary dictUser =(IDictionary)sequenceEnum.Current.Value;
Debug.Log("displayName:"+dictUser["displayName"]);
}
catch(System.Exception e){
Debug.Log(e.Message);
}
Debug.Log("At The End!");
UIManager.instance.ShowOtherUsers(); // Now it executes like a Charm
}
Это работало как Очарование ... Что я понимаю, что это выполнение было сделано с резьбой Задача». Хотя я не знаю точно, как это работает или почему это не работает с моим предыдущим кодом. Кто-то, кто может предоставить лучшую информацию, приветствуется :) Ура!