0
)
JSON string
은 C#
에 더 좋게 만들 필요가 있습니다. 내 프로젝트에 사용되는 클래스입니다 JSON formatter in C#?JSON 형식 (C#
: : 여기의 코드를 시도
class JsonHelper
{
private const string INDENT_STRING = " ";
public static string FormatJson(string str)
{
var indent = 0;
var quoted = false;
var sb = new StringBuilder();
for (var i = 0; i < str.Length; i++)
{
var ch = str[i];
switch (ch)
{
case '{':
case '[':
sb.Append(ch);
if (!quoted)
{
sb.AppendLine();
Enumerable.Range(0, ++indent).ForEach(item => sb.Append(INDENT_STRING));
}
break;
case '}':
case ']':
if (!quoted)
{
sb.AppendLine();
Enumerable.Range(0, --indent).ForEach(item => sb.Append(INDENT_STRING));
}
sb.Append(ch);
break;
case '"':
sb.Append(ch);
bool escaped = false;
var index = i;
while (index > 0 && str[--index] == '\\')
escaped = !escaped;
if (!escaped)
quoted = !quoted;
break;
case ',':
sb.Append(ch);
if (!quoted)
{
sb.AppendLine();
Enumerable.Range(0, indent).ForEach(item => sb.Append(INDENT_STRING));
}
break;
case ':':
sb.Append(ch);
if (!quoted)
sb.Append(" ");
break;
default:
sb.Append(ch);
break;
}
}
return sb.ToString();
}
}
static class Extensions
{
public static void ForEach<T>(this IEnumerable<T> ie, Action<T> action)
{
foreach (var i in ie)
{
action(i);
}
}
}
을 내 페이지에 나는 클래스를 호출하고 화면에 문자열을 작성하는이 코드가 있습니다.
IRestResponse response5 = GetCampaigns();
string formattedJason = JsonHelper.FormatJson(response5.Content.ToString());
Response.Write(formattedJason);
내 문제는이 같은 그래서 포맷 된 JSON 나던 줄 바꿈을 가지고있다 : 내가 좋아하는 더 좋은 JSON 뭔가 얻을 수있는 방법
{ "total_count": 10, "items": [ { "clicked_count": 2559, "opened_count": 7021, "submitted_count": 3102, "unsubscribed_count": 0, "bounced_count": 4, "id": "3", "name": "Approved Email", "created_at": "Wed, 09 Oct 2013 17:16:35 GMT", "delivered_count": 2984, "complained_count": 0, "dropped_count": 118 }, { "clicked_count": 240, "opened_count": 434, "submitted_count": 183, "unsubscribed_count": 0, "bounced_count": 0, "id": "5", "name": "Ready to Shop", "created_at": "Wed, 09 Oct 2013 00:21:08 GMT", "delivered_count": 181, "complained_count": 0, "dropped_count": 2 } ] }
:
{
"status" : "OK",
"results" : [
{
"types" : [
"locality",
"political"
],
"formatted_address" : "New York, NY, USA",
"address_components" : [
{
"long_name" : "New York",
"short_name" : "New York",
"types" : [
"locality",
"political"
]
},
[JSON.Net] (http://james.newtonking.com/json)을 사용하는 것이 좋습니다. 이렇게하면 삶이 훨씬 쉬워집니다! – JMK
''[ '''''''''''''''?''?''뒤에 형식 코드에''\ n' '을 추가 할 수 없습니까? 아, 두 괄호 닫는 버전. –
나는 그것을 Nuget에서 설치하려고했지만 어떤 이유로 Newtonsoft.Json을 사용하여 왜 사용하는지 확신 할 수 없다. 페이지 상단에 그것이 내게이 오류를 줬어 : \t "유형 또는 네임 스페이스 이름 'Newtonsoft'찾을 수 없습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?)" – Alma