var j1 = (JObject)JsonConvert.DeserializeObject(json1); var j2 = (JObject)JsonConvert.DeserializeObject(json2); var jArray = new JArray(j1, j2); var str = jArray.ToString(); EDIT var final = JsonConvert.SerializeObject( new {Title=j1["Title"], data=j1["data"].Union(j2["data"])}, Newtonsoft.Json.Formatting.Indented);
Design
2016年3月24日 星期四
合併兩筆JObject
標籤:
Json
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年3月15日 星期二
OAuth instagram 連線方法 C#
public ActionResult OAuth() { code = Request["code"].ToString(); NameValueCollection parameters = new NameValueCollection(); parameters.Add("client_id", ConfigurationManager.AppSettings["instagram.clientid"].ToString()); parameters.Add("client_secret", ConfigurationManager.AppSettings["instagram.clientsecret"].ToString()); parameters.Add("grant_type", "authorization_code"); parameters.Add("redirect_uri", ConfigurationManager.AppSettings["instagram.redirecturi"].ToString()); parameters.Add("code", code); WebClient client = new WebClient(); var result = client.UploadValues("https://api.instagram.com/oauth/access_token", parameters); //取得json後轉一下string 才不會都是///////////////////////////////// var response = System.Text.Encoding.Default.GetString(result); //model建立物件後 // Json反序列化 building model var collection = JsonConvert.DeserializeObject(response); // 也可以轉JObject然後像下面轉為string取想要用的部分 var jsResult = (JObject)JsonConvert.DeserializeObject(response); string accessToken = (string)jsResult["access_token"]; int id = (int)jsResult["user"]["id"]; string username = (string)jsResult["user"]["username"]; Session.Add("name", username); Session.Add("InstaSharp.accessToken", collection); Session.Add("accessToken", accessToken); Session.Add("id", id); return RedirectToAction("MyFeed",new { username}); }
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年3月12日 星期六
string和byte[]的轉換 (C#)
string類型轉成byte[]:
byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );
反過來,byte[]轉成string:
string str = System.Text.Encoding.Default.GetString ( byteArray );
其它編碼方式的,如System.Text.UTF8Encoding,System.Text.UnicodeEncoding class等;例如:
string類型轉成ASCII byte[]:("01" 轉成 byte[] = new byte[]{ 0x30, 0x31})
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str );
ASCII byte[] 轉成string:(byte[] = new byte[]{ 0x30, 0x31} 轉成 "01")
string str = System.Text.Encoding.ASCII.GetString ( byteArray );
有時候還有這樣一些需求:
byte[] 轉成原16進制格式的string,例如0xae00cf, 轉換成 "ae00cf";new byte[]{ 0x30, 0x31}轉成"3031":
public static string ToHexString ( byte[] bytes ) // 0xae00cf => "AE00CF "
{
string hexString = string.Empty;
if ( bytes != null )
{
StringBuilder strB = new StringBuilder ();
for ( int i = 0; i < bytes.Length; i++ )
{
strB.Append ( bytes[i].ToString ( "X2" ) );
}
hexString = strB.ToString ();
}
return hexString;
}
{
string hexString = string.Empty;
if ( bytes != null )
{
StringBuilder strB = new StringBuilder ();
for ( int i = 0; i < bytes.Length; i++ )
{
strB.Append ( bytes[i].ToString ( "X2" ) );
}
hexString = strB.ToString ();
}
return hexString;
}
反過來,16進制格式的string 轉成byte[],例如, "ae00cf"轉換成0xae00cf,長度縮減一半;"3031"轉成new byte[]{ 0x30, 0x31}:
public static byte[] GetBytes(string hexString, out int discarded)
{
discarded = 0;
string newString = "";
char c;
// remove all none A-F, 0-9, characters
for (int i=0; i<hexString.Length; i++)
{
c = hexString[i];
if (IsHexDigit(c))
newString += c;
else
discarded++;
}
// if odd number of characters, discard last character
if (newString.Length % 2 != 0)
{
discarded++;
newString = newString.Substring(0, newString.Length-1);
}
int byteLength = newString.Length / 2;
byte[] bytes = new byte[byteLength];
string hex;
int j = 0;
for (int i=0; i<bytes.Length; i++)
{
hex = new String(new Char[] {newString[j], newString[j+1]});
bytes[i] = HexToByte(hex);
j = j+2;
}
return bytes;
}
{
discarded = 0;
string newString = "";
char c;
// remove all none A-F, 0-9, characters
for (int i=0; i<hexString.Length; i++)
{
c = hexString[i];
if (IsHexDigit(c))
newString += c;
else
discarded++;
}
// if odd number of characters, discard last character
if (newString.Length % 2 != 0)
{
discarded++;
newString = newString.Substring(0, newString.Length-1);
}
int byteLength = newString.Length / 2;
byte[] bytes = new byte[byteLength];
string hex;
int j = 0;
for (int i=0; i<bytes.Length; i++)
{
hex = new String(new Char[] {newString[j], newString[j+1]});
bytes[i] = HexToByte(hex);
j = j+2;
}
return bytes;
}
標籤:
C#
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
訂閱:
文章 (Atom)