JSON жолына динамикалық мәнді қалай беру керек

Мен JSON жолын осы жолмен құрастырдым, бірақ оған динамикалық мән беру мүмкін емес

String input = "{\r\n" + 
                    "    \"Level\": 0,\r\n" + 
                    "    \"Name\": \"String\",\r\n" + 
                    "    \"msgName\": \"String\",\r\n" + 
                    "    \"ActualMessage\": \"String\",\r\n" + 
                    "    \"TimeStamp\": \"/Date(-62135596800000-0000)/\"\r\n" + 
                    "}" ;

String message = "this is value  want to pass to the ActualMessage attribute " ;

I need to pass dynamic value to the ActaulMessage atribute 

Айтыңызшы, қалай?

Мен сынақ пен қателіктердің санын көрдім, бірақ табысқа жете алмадым.

2
JSON хабарын жасайтын және динамикалық деректерді сіз үшін қолданатын нысанға ие болыңыз.
қосылды автор duffymo, көзі
«Динамикалық мәнді беру» арқылы сіз JSON жолының ішіндегі белгілі бір жерде message мәнін мәніне бір сәтте қоюға болатын уақытты шаблондауды білдіреді; немесе <�айнымалы хабарлама дегенді айнымалы мән өзгерген кезде, JSON жолының енгізу өзгерістерді көрсету үшін өзгереді?
қосылды автор Nate, көзі

10 жауаптар

Бұл туралы String.format() пайдалану туралы не айтасыз? мысалы, «динамикалық мәнді» беру үшін мәтіндегі орын ұстаушыны хабарлаңыз:

String input = "insert %s in the string";//here %s is the placeholder
input = String.format(input, "value");   //replace %s with actual value

Енді input жолында «жолын енгізіңіз» жолында. Сіздің мысалыңызда мына жолды өзгертіңіз:

"    \"msgName\": \"String\",\r\n"

Оны келесіге ауыстырыңыз:

"    \"msgName\": \"%s\",\r\n"

Енді сіз ауыстыруды орындай аласыз:

input = String.format(input, message);

пішіміндегі() әдісіндегі бірінші параметрде параметрлердің әлдеқайда көп екеніне және ауыстырылатын бірнеше аргументтен өтуге болатынына назар аударыңыз. Құжаттарға қараңыз. Formatter класы.

1
қосылды
Мен тұтастай жолды ауыстыруды қалай орындау керектігін көрсетіп отырмын, мәселедегі ОР-ның енгізуі - бұл жай ғана жол, сондықтан ол бірдей жұмыс істейтін болады
қосылды автор Óscar López, көзі
json туралы қалай білуге ​​болады?
қосылды автор Dmitry Zagorulkin, көзі

Бұл туралы String.format() пайдалану туралы не айтасыз? мысалы, «динамикалық мәнді» беру үшін мәтіндегі орын ұстаушыны хабарлаңыз:

String input = "insert %s in the string";//here %s is the placeholder
input = String.format(input, "value");   //replace %s with actual value

Енді input жолында «жолын енгізіңіз» жолында. Сіздің мысалыңызда мына жолды өзгертіңіз:

"    \"msgName\": \"String\",\r\n"

Оны келесіге ауыстырыңыз:

"    \"msgName\": \"%s\",\r\n"

Енді сіз ауыстыруды орындай аласыз:

input = String.format(input, message);

пішіміндегі() әдісіндегі бірінші параметрде параметрлердің әлдеқайда көп екеніне және ауыстырылатын бірнеше аргументтен өтуге болатынына назар аударыңыз. Құжаттарға қараңыз. Formatter класы.

1
қосылды
Мен тұтастай жолды ауыстыруды қалай орындау керектігін көрсетіп отырмын, мәселедегі ОР-ның енгізуі - бұл жай ғана жол, сондықтан ол бірдей жұмыс істейтін болады
қосылды автор Óscar López, көзі
json туралы қалай білуге ​​болады?
қосылды автор Dmitry Zagorulkin, көзі

Бұл туралы String.format() пайдалану туралы не айтасыз? мысалы, «динамикалық мәнді» беру үшін мәтіндегі орын ұстаушыны хабарлаңыз:

String input = "insert %s in the string";//here %s is the placeholder
input = String.format(input, "value");   //replace %s with actual value

Енді input жолында «жолын енгізіңіз» жолында. Сіздің мысалыңызда мына жолды өзгертіңіз:

"    \"msgName\": \"String\",\r\n"

Оны келесіге ауыстырыңыз:

"    \"msgName\": \"%s\",\r\n"

Енді сіз ауыстыруды орындай аласыз:

input = String.format(input, message);

пішіміндегі() әдісіндегі бірінші параметрде параметрлердің әлдеқайда көп екеніне және ауыстырылатын бірнеше аргументтен өтуге болатынына назар аударыңыз. Құжаттарға қараңыз. Formatter класы.

1
қосылды
Мен тұтастай жолды ауыстыруды қалай орындау керектігін көрсетіп отырмын, мәселедегі ОР-ның енгізуі - бұл жай ғана жол, сондықтан ол бірдей жұмыс істейтін болады
қосылды автор Óscar López, көзі
json туралы қалай білуге ​​болады?
қосылды автор Dmitry Zagorulkin, көзі

Бұл туралы String.format() пайдалану туралы не айтасыз? мысалы, «динамикалық мәнді» беру үшін мәтіндегі орын ұстаушыны хабарлаңыз:

String input = "insert %s in the string";//here %s is the placeholder
input = String.format(input, "value");   //replace %s with actual value

Енді input жолында «жолын енгізіңіз» жолында. Сіздің мысалыңызда мына жолды өзгертіңіз:

"    \"msgName\": \"String\",\r\n"

Оны келесіге ауыстырыңыз:

"    \"msgName\": \"%s\",\r\n"

Енді сіз ауыстыруды орындай аласыз:

input = String.format(input, message);

пішіміндегі() әдісіндегі бірінші параметрде параметрлердің әлдеқайда көп екеніне және ауыстырылатын бірнеше аргументтен өтуге болатынына назар аударыңыз. Құжаттарға қараңыз. Formatter класы.

1
қосылды
Мен тұтастай жолды ауыстыруды қалай орындау керектігін көрсетіп отырмын, мәселедегі ОР-ның енгізуі - бұл жай ғана жол, сондықтан ол бірдей жұмыс істейтін болады
қосылды автор Óscar López, көзі
json туралы қалай білуге ​​болады?
қосылды автор Dmitry Zagorulkin, көзі

Егер сіз Json-ді басқарғыңыз келсе, GSON . Сіздің мәселеңізді төмендегідей шешуге болады.

String input = "{\r\n" + 
                    "    \"Level\": 0,\r\n" + 
                    "    \"Name\": \"String\",\r\n" + 
                    "    \"msgName\": \"MessageName\",\r\n" + 
                    "    \"ActualMessage\": \"%s\",\r\n" + 
                    "    \"TimeStamp\": \"/Date(-62135596800000-0000)/\"\r\n" + 
                    "}" ;

String message = "this is value  want to pass to the ActualMessage attribute " ;
String output=String.format(input,message);
//this will replace %s with the content of message variable.
1
қосылды

Егер сіз Json-ді басқарғыңыз келсе, GSON . Сіздің мәселеңізді төмендегідей шешуге болады.

String input = "{\r\n" + 
                    "    \"Level\": 0,\r\n" + 
                    "    \"Name\": \"String\",\r\n" + 
                    "    \"msgName\": \"MessageName\",\r\n" + 
                    "    \"ActualMessage\": \"%s\",\r\n" + 
                    "    \"TimeStamp\": \"/Date(-62135596800000-0000)/\"\r\n" + 
                    "}" ;

String message = "this is value  want to pass to the ActualMessage attribute " ;
String output=String.format(input,message);
//this will replace %s with the content of message variable.
1
қосылды

Егер сіз Json-ді басқарғыңыз келсе, GSON . Сіздің мәселеңізді төмендегідей шешуге болады.

String input = "{\r\n" + 
                    "    \"Level\": 0,\r\n" + 
                    "    \"Name\": \"String\",\r\n" + 
                    "    \"msgName\": \"MessageName\",\r\n" + 
                    "    \"ActualMessage\": \"%s\",\r\n" + 
                    "    \"TimeStamp\": \"/Date(-62135596800000-0000)/\"\r\n" + 
                    "}" ;

String message = "this is value  want to pass to the ActualMessage attribute " ;
String output=String.format(input,message);
//this will replace %s with the content of message variable.
1
қосылды

Егер сіз Json-ді басқарғыңыз келсе, GSON . Сіздің мәселеңізді төмендегідей шешуге болады.

String input = "{\r\n" + 
                    "    \"Level\": 0,\r\n" + 
                    "    \"Name\": \"String\",\r\n" + 
                    "    \"msgName\": \"MessageName\",\r\n" + 
                    "    \"ActualMessage\": \"%s\",\r\n" + 
                    "    \"TimeStamp\": \"/Date(-62135596800000-0000)/\"\r\n" + 
                    "}" ;

String message = "this is value  want to pass to the ActualMessage attribute " ;
String output=String.format(input,message);
//this will replace %s with the content of message variable.
1
қосылды

Жолды біріктіруді қолданыңыз.

String message = "this is value  want to pass to the ActualMessage attribute " ;
String input = "{\r\n" + 
               "\"Level\": 0,\r\n" + 
               "\"Name\": \"String\",\r\n" + 
               "\"msgName\": \"String\",\r\n" + 
               "\"ActualMessage\": \"" + message + "\",\r\n" + 
               "\"TimeStamp\": \"/Date(-62135596800000-0000)/\"\r\n" + 
               "}" ;
1
қосылды

Жолды біріктіруді қолданыңыз.

String message = "this is value  want to pass to the ActualMessage attribute " ;
String input = "{\r\n" + 
               "\"Level\": 0,\r\n" + 
               "\"Name\": \"String\",\r\n" + 
               "\"msgName\": \"String\",\r\n" + 
               "\"ActualMessage\": \"" + message + "\",\r\n" + 
               "\"TimeStamp\": \"/Date(-62135596800000-0000)/\"\r\n" + 
               "}" ;
1
қосылды